前言
JavaScript 是世界上最流行的本赛季语言之一,现在也广泛用于除了浏览器之外的其他地方。 比如 Node.js 在过去几年中的崛起,打破了后端开发语言领域 – 这曾经是 Java,Ruby,Python,PHP和传统的服务器端语言的天下。
JavaScript 手册遵循 2/8 原则:在 20% 的时间内学习 80% 的 JavaScript。
本手册旨在让你了解有关 JavaScript 的所有知识!
目录
- 关于 ECMASCRIPT 发展史和现状
- ES6 带来的重大特性
- ES2016(ES7)的改进
- ES2017(ES8)带来的重大新特性
- ES2018(ES9)带来的重大新特性
- JavaScript 编码风格指南
- JavaScript 词法结构(构建块)
- JavaScript 变量
- JavaScript 数据类型
- JavaScript 表达式
- 原型继承
- 如何使用 JavaScript 中的 Classes(类)
- JavaScript 异常处理
- JavaScript 中的分号(;)
- JavaScript 中的引号
- JavaScript 字面量模板(Template Literals)指南
- JavaScript 中的 function(函数)
- JavaScript 箭头函数(Arrow Function)
- JavaScript 中的闭包(Closures)
- JavaScript 数组(Arrays)
- JavaScript 中的循环(Loops)
- JavaScript 中的事件(Events)
- JavaScript 中的事件循环(Event Loop)
- JavaScript 异步本赛季和回调
- 理解 JavaScript 中的 Promises
- 用 async 和 await 编写现代 JavaScript 异步代码
- JavaScript 中的 循环(Loops) 和 作用域(Scope)
- JavaScript 定时器 setTimeout() 和 setInterval()
- JavaScript 中的 this
- JavaScript 严格模式(Strict Mode)
- JavaScript 中的 立即执行函数表达式(IIFE)
- JavaScript 中的数学运算符
- JavaScript 中的 Math 对象
- 介绍 ES Modules(模块)
- 介绍 CommonJS
- JavaScript 术语表
JavaScript 介绍
JavaScript 是世界上最流行的本赛季语言之一。发布于 20 年前,自从它发布以来,它已经走了很长的路。
它是第一个也是唯一一个由 Web 浏览器本地支持的脚本语言,它只是卡住了。
在一开始,它并没有像现在这样强大,它主要用于花哨的动画😆和当时称为动态 HTML( )的特效。
随着 Web 平台需求的不断增长,JavaScript 也开始不断的发展,以满足世界上最广泛使用的生态系统之一的需求。
Web 平台中引入了很多东西,包括浏览器 API ,但语言本身也增加了不少新特效。
JavaScript 现在也广泛用于浏览器之外。 Node.js 在过去几年中的崛起开启了后端开发的历程,曾经是 Java,Ruby,Python,PHP 和更传统的服务器端语言领域。
JavaScript 现在也是支持数据库和更多应用程序的语言。它甚至可以开发嵌入式应用程序,移动应用程序,电视机应用程序等等。最初作为浏览器内部的一种小语言,现在是世界上最流行的语言。
JavaScript 的基本定义
JavaScript 是一种本赛季语言,它是:
- 高级语言:提供的抽象,允许您忽略运行它的机器的详细信息。它使用垃圾收集器自动管理内存,因此您可以专注于代码,而不是管理内存位置,并且提供了许多结构,允许您处理功能强大的变量和对象。
- 动态语言:与静态本赛季语言相反,动态语言在运行时执行许多静态语言在编译时执行的操作。 这有利有弊,它为我们提供了强大的功能,如动态类型,后期绑定,反射,函数式本赛季,对象运行时更改,闭包等等。
- 动态类型:变量不强制执行类型。 您可以将任何类型的值重新分配给变量,例如将整数分配给包含字符串的变量。
- 弱类型:与强类型相反,弱(或松散)类型的语言不强制执行对象的类型。这允许更多的灵活性,但是又将类型安全和类型检查拒之门外。(这也正是 TypeScript 和 Flow 正在改进的地方)
- 解释型:它通常被称为解释型语言,这意味着它在程序运行之前不需要编译阶段,这和 C , Java 或 Go 语言不同。实际上,出于性能原因,浏览器在执行之前会编译 JavaScript ,但这对您来说是不可感知的,因为不涉及额外的步骤。
- 多范式:该语言不强制执行任何特定的本赛季范例,不像 Java 那样强制使用面向对象本赛季,或者像 C 那样强制命令式本赛季。您可以使用面向对象的范例编写 JavaScript ,使用原型和新的(从ES6开始)类(classes)语法。您可以使用函数式本赛季风格编写 JavaScript ,使用其一等函数,甚至以命令式(C-like)编写。
如果您想知道,JavaScript 与 Java 到底有没有关系,那么我告诉你,他们的关系就像我们平常说的,雷锋和雷峰塔的关系。这是一个不幸的名称选择,但我们必须忍受它。
JavaScript 版本
我在这里介绍术语 ECMAScript。 我们有一个专门针对 ECMAScript 的完整指南,您可以在其中深入了解它,但首先,您只需要知道ECMAScript(也称为 ES )是 JavaScript 标准的名称。
JavaScript 是该标准的实现。 这就是为什么你会听说 ES6,ES2015,ES2016,ES2017,ES2018等等。
很长一段时间里,所有浏览器运行的 JavaScript 版本都是 ECMAScript 3 。版本 4 由于功能实现缓慢而被取消了(他们试图一次性添加太多东西)。 虽然 ES5 是 JavaScript 的一个巨大改进的版本,但 ES2015(也称为 ES6 )给我们带来了更多的惊喜。
从那时起,TC39 决定每年发布一个版本,以避免在版本之间闲置太多,并且反馈循环更快。 (注:关于 TC39 的工作流程可以查看 《TC39 处理 ECMAScript 新特性的工作流程》)
目前,最新批准的 JavaScript 版本是 ES2017 (也称为 ES8 )。 (注:快速了解最新版本的JavaScript,也可以阅读《探索 ES2016 与 ES2017》这本 JavaScript 新书)
注:本手册翻译自 《》
有没有电子版的下载呀
暂时没有
有没有兴趣翻译 impatient js?
大概看了一下,好像太长了,要花好长时间