译者序
JavaScript在网络时代诞生,从为静态网页添加各种炫目的特效,到现在几乎所有在线的交互网站和小程序,都大量使用了JavaScript。我们几乎每天都通过浏览器和各种应用与它打交道,它已成为我们日常工作、生活不可或缺的组成部分。它的这种无所不在,也便于我们在各种环境中进行学习。
JavaScript的演进适应了网络的发展,标准化组织定期为它添加新功能,并且得益于大量的投资和引擎开发人员的努力,它的执行性能也在不断地提高。使用JavaScript不但可以编写在浏览器上执行的客户端程序,而且可以编写在网站后台作为服务器执行的程序。人们已利用JavaScript编写了许多流行的工具框架,如jQuery、Angular、Express等。由它定义的JSON是轻量级的文本数据交换格式,许多数据库软件也支持JavaScript和JSON,如MongoDB、CouchDB、MySQL等。JavaScript已经成为当下最流行的“全栈”开发语言。
JavaScript内容庞大,一本书不可能面面俱到地介绍所有内容。本书提纲挈领地介绍了语言的主要功能和特色,包括基本结构、函数、数据结构、高阶函数、错误处理、正则表达式、模块、异步编程、浏览器文档对象模型、事件处理、绘图、HTTP表单、Node等,读者可以通过学习这些内容循序渐进地掌握基本的编程概念、技术和思想。为了读者能够较快地上手实际的项目,本书安排了5个实战章节,涉及路径查找、自制编程语言、平台交互游戏、绘图工具和动态网站等方面,这些章节教会我们如何利用掌握的知识实现各种功能,并组成一个完整的项目。最后一章介绍了JavaScript性能优化的方法论、思路和工具,以帮助我们开发高效的程序。
本书与时俱进,已更新到第3版,这一版包含了JavaScript语言ES6规范的最新功能,比如绑定、常量、类、promise等。学习了本书,就能了解该语言的最新发展,编写出更强大的代码。
本书有一个功能丰富的支持网站(网址请见“前言”介绍),上面有可免费阅读的章节,可以实际执行内嵌的代码段,允许即时查看结果,还有供执行示例程序和习题的沙盒。这些都是作者精心设计的,网站本身就是对JavaScript的绝好展示。我的儿子卢令一就被第16章的熔岩游戏所吸引,当他了解到这样有趣的游戏只要几百行代码就能编写出来时,对编程也产生了浓厚的兴趣。
感谢华章公司刘锋编辑的信任,把这本书交给我翻译。感谢我的同事们,在工作中教给我许多IT知识。感谢我的家人,他们的辛勤劳动,使我能专心地投入本书的翻译。
卢涛
2019年11月