前言
在开始阅读本书之前,我们先来看一下本书的目标读者是谁,为什么要写这本书,它所采用的是什么样的体例,其内容是如何组织的,以及需要哪些工具来编写JavaScript。
读者对象
对于想学习JavaScript的读者来说,你们很可能已经掌握了HTML和Web页面设计的基本知识,希望为网页添加一些更好的互动性。抑或你们目前正使用其他语言进行编程,想了解一下JavaScript能够提供哪些更多的功能。
如果对HTML没有任何了解,或是没有任何计算机编程经验,我们建议读者先了解一些HTML基本知识。鉴于HTML非常易于理解,读者不必成为HTML专家,就足以了解本书的JavaScript范例。
JavaScript很适合作为学习编程技术的起点。读者在调试过程掌握的基本概念大多可以用于其他编程语言,比如C、Java或PHP。
本书宗旨
JavaScript最初的用途是相当有限的,它只具备基本的功能,对于浏览器的支持也很不稳定,所以只被视为“花哨的小技巧”。现在,随着浏览器对W3C标准的支持越来越好,对JavaScript的实现不断改善,JavaScript已经成为一种常规的编程语言。
其他高级编程语言里的编程规则能够方便地应用于JavaScript,比如面向对象编程方法有助于编写稳定、易读、易维护和易重用的代码。
所谓“低调”的编程技术和DOM脚本都致力于为Web页面增加更好的互动,同时保持HTML简单易读,并且能够轻松地与代码分离。
本书着力介绍JavaScript目前主要特性及基本技巧,从基本概念开始,逐步介绍按照当今Web标准编写JavaScript代码的最佳方式。
很多编程教程会给出复杂的代码示例和练习,结果让那些没有编程经验的程序员知难而退。为了最大限度地讲清楚且让读者容易上手,本书所给出的示例都是为了阐释每一章的关键知识点,而使用尽可能少和尽可能容易的代码。
本书约定
本书全部代码范例都是用HTML5编写的,并且符合ECMAScript JavaScript 6。
除了每个课程里的正文之外,书中还有一些标记为“说明”“提示”和“注意”的方框。
NOTE 说明:这里的内容给出了额外的解释,帮助读者理解正文和示例。
TIP 提示:这里的内容给出了额外的技巧、提示,帮助读者更轻松地进行编程。
CAUTION 注意:这里的内容帮助读者用相关的信息来避免常见的陷阱。
实践
每一章至少有一部分内容用以指导读者尝试自己完成脚本,帮助读者建立编写JavaScript脚本的信心。
问答、测验和练习
每一章的最后都有这三部分内容:
➢ “问答”—主要用于解答课程中最常遇到的问题;
➢ “测验”—用于检验读者对课程内容的掌握情况;
➢ “练习”—根据课程的内容提供一些让读者进一步深入学习的建议。
本书结构
本书正文分为6个部分,内容的难度逐步提高。
➢ 第一部分:JavaScript基础
这部分是JavaScript语言的基础知识,介绍了用常用函数编写简单脚本的方法。这部分内容主要针对之前缺少或没有编程知识以及没有JavaScript知识的读者编写。
➢ 第二部分:JavaScript编程
这部分介绍了JavaScript的数据类型,例如数值、字符串和数组;此外,还介绍了更复杂的编程范型,比如事件处理、循环控制和定时器等。
➢ 第三部分:理解JavaScript对象
这部分着重介绍了如何创建和操作对象,包括遍历和编辑属于DOM(文档对象模型)的对象。
➢ 第四部分:用JavaScript操作Web页面
这部分较为深入地介绍了JavaScript如何与HTML(包括HTML5)和CSS(包括最新的CSS3规范)交互。
➢ 第五部分:与JavaScript工具相关的高级技术
这部分介绍了一些专门的编程技术,包括cookie、正则表达式、闭包和模块的使用。
➢ 第六部分:专业技能
这一部分介绍了专业JavaScript开发的知识,例如良好的编程习惯、JavaScript的调试等。
必要工具
编写JavaScript并不需要昂贵和复杂的工具,如集成开发环境(IDE)、编译器或调试器。
本书的范例代码都可以利用像Windows记事本这样的文本编辑软件生成。每个操作系统都会提供至少一款这样的软件,而且互联网上还有大量免费或廉价的类似软件。
说明:
附录列出的JavaScript开发工具和资源都可以方便地获得。
为了查看代码的运行情况,我们需要一个Web浏览器,比如Microsoft Edge、Mozilla Firefox、Opera、Safari或Google Chrome。建议使用浏览器的最新稳定版本。特别是,最好不要使用逐渐被废弃的Microsoft的Internet Explorer,而是使用更加符合标准的Edge浏览器,或者使用Chrome或Firefox来替代它。
本书绝大多数范例代码在运行时并不需要连接互联网,只要把源代码保存到计算机上,然后用浏览器打开它们就可以了。例外的情况是关于cookie和Ajax的章节,这些代码需要一个Web连接(或者是局域网上的一个Web服务连接)和一些Web空间来上传代码。对于尝试过HTML编码的读者来说,都应该具备上述配置;即使没有这些配置,使用业余级别的Web主机账户就可以满足要求,而这些都是很便宜的。