前言
这本书的目的是向你介绍如何使用JavaScript语言编程,最终帮助你成长为一名JavaScript忍者。
这是学习JavaScript的一个令人激动的时刻,JavaScript终于从它早期作为在网页上生成令人尴尬的效果的一种初级语言中蜕变出来。如今,JavaScript被用来产生专业的和强大的web应用。现代浏览器如今能够以闪电般的速度运行JavaScript代码,Node.js通过JavaScript在其他环境中的使用,促进了JavaScript的变革。这致使一种更加快速、更加结构化的方法来构建JavaScript应用。在这种情况下,JavaScript被认为是一种羽翼丰满的程序语言。简而言之,JavaScript长大了。
JavaScript有若干很酷的特性,这使得它从其他语言中脱颖而出,诸如回调、处于头等的函数,原型继承。它的基于事件的模型使得它成为开发现代web应用的非常棒的选择。JavaScript包中的王牌,可是所有编程语言的羡嫉之物:即它的普遍性。JavaScript几乎无处不在;任何一个有浏览器可用的人都可以使用它。并且由于在浏览器之外的环境的可用性越来越高,它的普遍性每年都在增加。这使得JavaScript的触角越来越广:它已经成为GitHub上最流行的编程语言。我只能够预见到JavaScript在未来变得越来越流行,随着它变成物联网编程语言的不二选择:有助于控制家用电器——甚至是机器人。
在我忘乎所以之前,我仍然要指出JavaScript有很多缺陷,与完美还差得远。它缺少一些重要的语言特性,比如说模块和私有函数,这些特性被很多现代编程语言作为标准。尽管如此,作为一门编程语言,它灵活得令人难以置信,很多坑可以利用它提供的工具来弥补。除此之外,很多库已然涌现,这些库能够扩展JavaScript的功能,从而JavaScript能够释放它全部的潜能。
这本书从基础开始,假定读者没有编程或者用JavaScript编程的经验,不过马上就能够跟上节奏,以相当的深度涉及到所有主要的主题,诸如函数、对象和DOM操作。更高级的话题诸如错误处理和测试、函数式编程、和面向对象编程在基础介绍随后给予介绍。近几年来,在Javascript的世界中有很多令人激动的进展,诸如Ajax,HTML5 API,以及任务执行者。这些内容将会在本书的最后一部分介绍。贯穿本书,遍布每章的最后,我们还有一个构造智力问答的实际项目。我是按照现代浏览器构造这些内容的。有鉴于此,我总是设法在例子中使用最新的方法。既然提到了这一点,如果什么东西在较老的浏览器中不能正常工作了,或者需要变通的方法,我设法表示道歉。
前路漫漫,准确地来说,本书有16章。但是记住。每一个忍者的路途都是从一个最简单的页面(或者总之什么类似的东西)开始的。因此,翻开第一页让我们开始吧!。
谁应该读这本书
这本书食欲每一个初级的网页设计师和开发者。我们假定你有一些HTML和CSS的的只是,但是不一定需要你此前的编程经验。
使用的惯例
遍布本书,为了表示不同种类的信息,你会注意到我们使用了某种印刷和排版样式。注意以下项目。
代码示例
本书中的代码将会使用一种定宽字体,像这样:
如果代码能够在本书所附的代码归档中找到,文件名将会出现在程序清单的最上面:
如果文件只有一部分显示出来,我们将会用关键词excerpt指出:
如果在一个已有的例子里加入了额外的代码,新的代码将会以粗体呈现: