前言 这本由David Flanagan著作,并由淘宝前端团队译的《JavaScript权威指南》,也就是我们俗称的“犀牛书”,算是JS界公认的“圣经”了。...本书较厚(有1004页),读起来颇费功夫,但作为JavaScript(下文简称:JS)相关从业者,我还是鼎力推荐,一定要读完这本经久不息,好评如潮的JS“圣经”(如果您有耐心的读完,觉得还不错的,博客最后附有购买本书的优惠券...); console.log(cat instanceof Animal); //true console.log(cat instanceof Cat); //true 更多的可以查看阮一峰老师的:Javascript
// Also negative 0 -0 /* 何问起 hovertree.com */ The not-a-number value has one unusual feature in JavaScript...false: infinity and -infinity are not equal // 何问起 hovertree.com 四、十进制小数产生的误差 这货对二进制数的精确度支持的很好,十进制就不行 JavaScript...world"; s[0] // => "h" s[s.length-1] // => "d" // 何问起 hovertree.com 《Javascript...权威指南》学习笔记之~Chapter 3.
相对于其他面向对象语言,在JavaScript中的函数是特殊的,函数即是对象。JavaScript可以把函数赋值给变量,或者作为参数传递给其他函数,甚至可以给它们设置属性等。...阮一峰,学习Javascript闭包(Closure) russj,JavaScript 闭包的理解 函数属性、方法和构造函数 前文已经介绍过,在JavaScript中函数也是对象,它也可以像普通对象一样拥有属性和方法...函数式编程 JavaScript中可以像操控对象一样操控函数,也就是说可以在JavaScript中应用函数式编程技术。...1 : n * factorial(n - 1); }); factorial(5); //=>120 参考与扩展 本篇内容源自我对《JavaScript权威指南》第8章 函数 章节的阅读总结和代码实践...[1] David Flanagan,JavaScript权威指南(第6版) [2] MDN,JavaScript 参考文档 - Functions - JavaScript | MDN
JavaScript对象可以看作是属性的无序集合,每个属性就是一个键值对,可增可删。 JavaScript中的所有事物都是对象:字符串、数字、数组、日期,等等。...JavaScript对象除了可以保持自有的属性外,还可以从一个称为原型的对象继承属性。对象的方法通常是继承的属性。这种“原型式集成”是JavaScript的的核心特征。...JavaScript对象都是关联数组,通过[]访问对象属性时,在程序运行时可以创建或修改它们,更有灵活性。 继承 JavaScript对象的属性分两种,一种是自己定义的,被称为“自有属性”。...参考与扩展 本篇内容源自我对《JavaScript权威指南》第6章-对象 章节的阅读总结和代码实践。总结的比较粗糙,你也可通过原著或MDN更深入了解对象。...[1] David Flanagan,JavaScript权威指南(第6版) [2] MDN,JavaScript 参考文档 - Array - JavaScript | MDN
JavaScript数组是一种特殊类型的对象。 JavaScript数组元素可以为任意类型,最大容纳232-1个元素。...JavaScript数组是动态的,有新元素添加时,自动更新length属性。 JavaScript数组元素索引可以是不连续的,它们之间可以有空缺。...组合push()和pop()能够让JavaScript数组实现先进后出的栈功能:push()入栈、pop()出栈。...权威指南》第7章 数组 章节的阅读总结和代码实践。...[1] David Flanagan,JavaScript权威指南(第6版) [2] MDN,JavaScript 参考文档 - Array - JavaScript | MDN
在JavaScript中操作日期可能非常复杂,让我们来学习使用所有相关的技巧吧!原文链接:https://flaviocopes.com/javascript-dates/ ?...pain JavaScript通过一个强大的对象: Date来给我们提供日期处理函数。 这篇文章不会去讨论Moment.js,我相信这是最好的用来处理日期的库,你应该总是用它来处理日期。...重要:UNIX时间戳用秒表示,JavaScript 日期用毫秒表示 如果我们已经有了一个UNIX时间戳,我们可以通过下面代码来实例化一个JavaScript日期对象: const timestamp =...JavaScript在没有任何关于时区的信息时,会将日期当做UTC,并且会自动的将时间转换为电脑当前所在的时区。...如果你指定了一个错误的数字类型的时区,JavaScript会抛出Invalid Date的错误。
输出undefine,JS变量是在预编译期定义的,所以一开始全局变量x 和 局部变量x都已经被解析,函数体内此时的x的值是undefined.
1. 函数的定义总是覆盖变量的定义 function f(){ alert( 1111 ); } var f = 1; alert( f ); 此时输...
JavaScript 权威指南-学习笔记 JavaScript是一门高级、动态、解释型变成语言,非常适合面向对象和函数式编程风格。 JavaScript的变量是无类型的。...JavaScript和Java除了表面语法大致相似,它与Java是完全不同的两门变成语言。...非交互式环境输出Hello World 1.新建hello.js文件 2.文件写入:console.log("Hello World") 3.使用node 执行hello.js文件 [请添加图片描述] 浏览器JavaScript...console.log("Hello World") 2.新建hello.html并写入: 3.在浏览器打开hello.html:file:///F:/javascript
本书是程序员学习核心JavaScript语言和由Web浏览器定义的JavaScript API的指南和综合参考手册。 第6版涵盖HTML 5和ECMAScript 5。...本书新增章节描述了jQuery和服务器端JavaScript。 本书适合那些希望学习Web编程语言的初、中级程序员和希望精通JavaScript的JavaScript程序员阅读。
JavaScript通过强大的对象为我们提供日期处理功能:日期。 本文确实不是谈论Moment.js,我认为它是处理日期的最佳库,你应该在处理日期时几乎总是使用它。...JavaScript以毫秒为单位记录原因。...如果我们有UNIX时间戳,我们可以使用实例化JavaScript Date对象: const timestamp = 1530826365 new Date(timestamp * 1000) 如果我们传递...JavaScript没有任何关于时区的信息,会将日期视为UTC,并自动执行到当前计算机时区的转换。...如果您指定了错误的数字格式,JavaScript将报“无效日期”的错误。
在 JavaScript 中,类使用基于原型的继承:如果两个对象从同一原型继承属性(通常是函数值属性或方法),那么我们说这些对象是同一类的实例。简而言之,这就是 JavaScript 类的工作原理。...一些程序员喜欢使用文件扩展名.mjs来区分他们的模块化 JavaScript 文件和传统.js扩展名的常规非模块化 JavaScript 文件。...本章涵盖了其他重要但不太基础的 API,可以被视为 JavaScript 的“标准库”:这些是内置于 JavaScript 中的有用类和函数,可供所有 Web 浏览器和 Node 中的 JavaScript...然而,对于 JavaScript Set 类来说,这并不完全正确。JavaScript 集合是无索引的:您无法像数组那样请求集合的第一个或第三个元素。...例如,要匹配单独一行的单词“JavaScript”,可以使用正则表达式/^JavaScript$/。
第十六章:用 Node 进行服务器端 JavaScript Node 是 JavaScript 与底层操作系统的绑定,使得编写 JavaScript 程序读写文件、执行子进程和在网络上通信成为可能。...较少的 JavaScript 代码总是比较多的 JavaScript 代码加载和运行更快! 有许多优秀的 JavaScript 捆绑工具可供选择。...但是请注意,如果导入的不是 JavaScript 文件,你正在使用一个非标准的 JavaScript 扩展,并使你的代码依赖于打包工具。...由于它将 JavaScript 编译成 JavaScript,因此有时称为“转译器”。...17.7 JSX:JavaScript 中的标记表达式 JSX 是核心 JavaScript 的扩展,使用类似 HTML 的语法来定义元素树。
第十五章:JavaScript 在 Web 浏览器中 JavaScript 语言是在 1994 年创建的,旨在使 Web 浏览器显示的文档具有动态行为。...Node 有一个单一的实现和一个单一的权威文档来源。...相比之下,Web API 是由主要的 Web 浏览器供应商之间的共识定义的,权威文档采用了面向实现 API 的 C++程序员的规范形式,而不是面向将使用它的 JavaScript 程序员。...15.1.5 JavaScript 程序的执行 在客户端 JavaScript 中,程序 没有正式的定义,但我们可以说 JavaScript 程序包括文档中的所有 JavaScript 代码或引用的代码...假设你有一个使用 JavaScript 增强的页面版本和一个不使用 JavaScript 的静态版本。
第四章:表达式和运算符 本章记录了 JavaScript 表达式以及构建许多这些表达式的运算符。表达式 是 JavaScript 的短语,可以 评估 以产生一个值。...常见的 JavaScript 习语要求您了解这些运算符的特殊行为。 第五章:语句 第四章将表达式描述为 JavaScript 短语。按照这个类比,语句是 JavaScript 句子或命令。...JavaScript 程序只不过是一系列要执行的语句。默认情况下,JavaScript 解释器按照它们编写的顺序一个接一个地执行这些语句。...JavaScript 程序只不过是一系列语句,用分号分隔开,因此一旦熟悉了 JavaScript 的语句,就可以开始编写 JavaScript 程序。...5.4.1 while 就像if语句是 JavaScript 的基本条件语句一样,while语句是 JavaScript 的基本循环语句。
JavaScript 包括其内置类型的构造函数。...几乎每个 JavaScript 对象都有一个与之关联的第二个 JavaScript 对象。这第二个对象称为原型,第一个对象从原型继承属性。...例如,假设你有一段 JavaScript 代码块,你想在许多不同的 JavaScript 程序中使用(或者对于客户端 JavaScript,在许多不同的网页上使用)。...8.8 函数式编程 JavaScript 不像 Lisp 或 Haskell 那样是一种函数式编程语言,但 JavaScript 可以将函数作为对象进行操作的事实意味着我们可以在 JavaScript...再次强调,这不是我推崇的 JavaScript 编程风格,但看到 JavaScript 代码可以有多函数式是一个有趣的练习。
而基于 JavaScript 的服务器通常在等待客户端请求通过网络到达之前不会执行任何操作。 这种异步编程在 JavaScript 中很常见,本章记录了三个重要的语言特性,帮助简化处理异步代码。...(你可以在第十五章和第十六章了解更多关于客户端和服务器端 JavaScript 的内容。) 13.1 使用回调进行异步编程 在 JavaScript 中,异步编程的最基本层次是通过回调完成的。...第十四章:元编程 本章介绍了一些高级 JavaScript 功能,这些功能在日常编程中并不常用,但对于编写可重用库的程序员可能很有价值,并且对于任何想要深入了解 JavaScript 对象行为细节的人也很有趣...14.7 代理对象 ES6 及更高版本中提供的 Proxy 类是 JavaScript 最强大的元编程功能。它允许我们编写改变 JavaScript 对象基本行为的代码。...这样做可以让您控制对象与 JavaScript 语言特性和核心库的交互方式。
前言 本书涵盖了 JavaScript 语言以及 Web 浏览器和 Node 实现的 JavaScript API。...我写这本书的目标是全面和权威地记录 JavaScript 语言,并深入介绍 JavaScript 程序可用的最重要的客户端和服务器端 API。因此,这是一本长篇详细的书。...1.3 JavaScript 之旅 本节通过代码示例快速介绍了 JavaScript 语言。...我认真对待本书标题中的“权威”一词,接下来的章节将以可能一开始感觉令人望而却步的细节水平解释语言。然而,真正掌握 JavaScript 需要理解这些细节,我希望您能抽出时间从头到尾阅读本书。...在客户端 JavaScript 编程中,JavaScript 代码可能包含 HTML 代码的字符串,而 HTML 代码可能包含 JavaScript 代码的字符串。
JavaScript 权威指南 思维导图 — never try never know — ----------------------------------- 经典的JavaScript...经典的JavaScript工具书,从1996年以来,本书已经成为JavaScript程序员心中的《圣经》。 ...程序员学习核心JavaScript语言和由Web浏览器定义的JavaScript API的指南和综合参考手册。 第6版涵盖HTML5和ECMAScript 5。...本书新增章节描述了jQuery和服务器端JavaScript。 本书适合那些希望学习Web编程语言的初、中级程序员和希望精通JavaScript的程序员阅读。
领取专属 10元无门槛券
手把手带您无忧上云