译者序 今天的Web网站,已经和10年前(甚至5年前)的Web网站有了很大的区别。无论是网站具有的交互性、面对用户的友好性,还是网页上所展现内容的丰富性,相比以前都有了巨大飞跃。这一切都拜JavaScript这门强大且灵活的编程语言所赐。JavaScript已经从以前的一门仅仅提供某些有趣特效的玩具脚本语言,转变为在Web网站开发中承担着核心角色的重要工具。无论使用何种服务器技术来创建Web网站,JavaScript都是Web工程师必须使用的前端语言。 但是,由于JavaScript语言本身特有的灵活性、动态性等特点,学习JavaScript语言无论是对一名在其他编程语言领域具有丰富经验的软件工程师,还是一名刚刚踏入编程世界的新手,都是一个不小的挑战。本书以通俗易懂、由浅入深的方式,向读者一步一步介绍了JavaScript,是一本非常好的JavaScript前端开发入门书籍。 使用大量的图示是本书的一大特点。常言道,“一图胜万言”,通过使用这些图示,能够让读者更加清晰明了地理解本书所要阐述的概念和知识。丰富的代码示例和代码流程图,则是本书的另一大特点。代码示例可以让读者更多地了解Web网页上那些特效和功能是如何通过代码实现的,与代码示例配套的代码流程图则降低了阅读代码的难度,也让读者对代码的执行过程和逻辑有了更直观的理解。 由于jQuery几乎已经成为Web前端代码的“标配”,因此本书将jQuery库也纳入进来。jQuery可以让Web前端工程师事半功倍,更轻松地达成自己的目标。 本书由杜伟、柴晓伟、涂曙光翻译,参与本次翻译活动的还有梁祝权、钟凤华、毛士之、张杉杉、张文旭、彭康、尼春雨、李明、陈龙、董欢。 总而言之,如果想要找到一本几乎“零难度”的JavaScript前端开发入门书籍,通过阅读而快速成为一名Web前端工程师,那么此书将是不二之选。 祝阅读快乐,学习快乐! 译者(杜伟/柴晓伟/涂曙光) 前言 本书讲解如何将JavaScript应用于浏览器中,以创建出更富交互性、更有趣、对用户更友好的Web网站。你还将从本书中学习jQuery,因为它使得JavaScript代码的编写容易了许多。 要充分吸收本书中的内容,在阅读本书之前,你需要了解如何使用HTML和CSS来构建Web页面。除了这个要求以外,并不需要你有任何编程方面的经验。学习使用JavaScript编程包含: 1 理解一些基本的编程概念,以及JavaScript程序员用来描述这些概念的术语。 2 学习JavaScript这门语言本身,这就像学习其他任何语言一样,你需要知道这门语言的词汇,以及使用词汇来组织语句。 3 通过学习JavaScript如何被用在现今的Web网站中的例子,来熟悉如何使用它。 在阅读本书过程中,你唯一需要的设备就是一台安装有现代Web浏览器的计算机,以及你最喜欢的代码编辑器(例如记事本、TextEdit、Sublime Text、Coda等)。 每一章的开头是介绍部分。它们将介绍每一章你要学习的关键概念。 参考部分介绍关键的JavaScript代码段。HTML代码使用蓝色字体显示,CSS代码使用粉红色字体显示,JavaScript则使用绿色字体显示。 背景信息部分显示成白色,介绍在每章将要讨论的主题的一些上下文信息。 图表和信息图部分使用黑色背景,对要讨论的主题提供简单、可视化的参考。 示例部分将你要从每一章中学到的主题归纳在一起,并且展示如何应用它们。 总结部分位于每一章的结尾,它们提醒你每一章中涵盖的关键主题。 本书结构 为了让你掌握JavaScript,本书分成以下两部分: 核心概念 前面的9章将介绍编程和JavaScript语言的基础知识。与此同时,你将学习如何使用JavaScript创建更有趣、更富交互性、更有用的网站。 第1章将介绍计算机编程中的一些关键概念,向你展现计算机如何使用数据来创建世界万物的模型,以及如何使用JavaScript来修改HTML页面的内容。 第2至第4章将涵盖JavaScript语言的基础知识。 第5章解释文档对象模型(DOM)如何在将文档载入浏览器时,使你可以访问和修改文档的内容。 第6章讨论如何使用事件来激活代码的运行。 第7章将展示jQuery如何使得编写脚本的过程更快、更容易。 第8章将介绍Ajax,它是一组使你可以在不重新载入整个页面的情况下,修改Web页面部分内容的技术。 第9章涵盖应用编程接口(Application Programming Interfaces,API),包括HTML中的一些新API,以及类似Google Maps之类的网站所提供的API。 实用应用程序 学完前面的部分,你应该已经看到了许多JavaScript是如何用于各种网站上的示例。该部分会把你已经掌握的各种技术综合起来,给你一些实用的示范来展现专业程序员是如何使用JavaScript的。你不但可以看到一系列深入的示例,还可以学习更多如何从头设计和编写脚本的过程。 第10章讲述错误处理和调试,并解释有关JavaScript是如何被执行的更多信息。 第11章将教你如何创建诸如滑块、模式窗口、选项卡面板和折叠式面板之类的内容面板。 第12章演示多个过滤和排序数据的技巧,包括过滤图片库,以及通过点击列的抬头来表格中的数据行进行重新排序。 第13章讲述表单增强技术以及如何验证表单数据。 除非已经是十分自信的程序员,否则可能会发现在第一次阅读本书时,从头到尾通读一遍将是非常有帮助的。然而,即使已经了解编程的基础知识,我们也希望能在你创建自己的脚本时,提供有帮助价值的参考。