JavaScript 完全手册(2018版)

10年服务1亿前端开发工程师

小编推荐:掘金是一个面向程序员的高质量技术社区,从 一线大厂经验分享到前端开发最佳实践,无论是入门还是进阶,来掘金你不会错过前端开发的任何一个技术干货。

前言

JavaScript 是世界上最流行的编程语言之一,现在也广泛用于除了浏览器之外的其他地方。 比如 Node.js 在过去几年中的崛起,打破了后端开发语言领域 – 这曾经是 Java,Ruby,Python,PHP和传统的服务器端语言的天下。

JavaScript 手册遵循 2/8 原则:在 20% 的时间内学习 80% 的 JavaScript。

本手册旨在让你了解有关 JavaScript 的所有知识!

目录

  1. 关于 ECMASCRIPT 发展史和现状
  2. ES6 带来的重大特性
  3. ES2016(ES7)的改进
  4. ES2017(ES8)带来的重大新特性
  5. ES2018(ES9)带来的重大新特性
  6. JavaScript 编码风格指南
  7. JavaScript 词法结构(构建块)
  8. JavaScript 变量
  9. JavaScript 数据类型
  10. JavaScript 表达式
  11. 原型继承
  12. 如何使用 JavaScript 中的 Classes(类)
  13. JavaScript 异常处理
  14. JavaScript 中的分号(;)
  15. JavaScript 中的引号
  16. JavaScript 字面量模板(Template Literals)指南
  17. JavaScript 中的 function(函数)
  18. JavaScript 箭头函数(Arrow Function)
  19. JavaScript 中的闭包(Closures)
  20. JavaScript 数组(Arrays)
  21. JavaScript 中的循环(Loops)
  22. JavaScript 中的事件(Events)
  23. JavaScript 中的事件循环(Event Loop)
  24. JavaScript 异步编程和回调
  25. 理解 JavaScript 中的 Promises
  26. 用 async 和 await 编写现代 JavaScript 异步代码
  27. JavaScript 中的 循环(Loops) 和 作用域(Scope)
  28. JavaScript 定时器 setTimeout() 和 setInterval()
  29. JavaScript 中的 this
  30. JavaScript 严格模式(Strict Mode)
  31. JavaScript 中的 立即执行函数表达式(IIFE)
  32. JavaScript 中的数学运算符
  33. JavaScript 中的 Math 对象
  34. 介绍 ES Modules(模块)
  35. 介绍 CommonJS
  36. JavaScript 术语表

JavaScript 介绍

JavaScript 是世界上最流行的编程语言之一。发布于 20 年前,自从它发布以来,它已经走了很长的路。

它是第一个也是唯一一个由 Web 浏览器本地支持的脚本语言,它只是卡住了。

在一开始,它并没有像现在这样强大,它主要用于花哨的动画😆和当时称为动态 HTML( DHTML)的特效。

随着 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 新书)

注:本手册翻译自 《The Complete JavaScript Handbook


如果你觉得本文对你有帮助,那就请分享给更多的朋友
关注「前端干货精选」加星星,每天都能获取前端干货
赞(36) 打赏
未经允许不得转载:WEB前端开发 » JavaScript 完全手册(2018版)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

前端开发相关广告投放 更专业 更精准

联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏