Skip to content
On this page

this 和对象原型

读这本书准备作序的时候, 我不禁想起 15 年前学习JavaScript时的情景。 过去的这 15 年 中,我一直用它进行编程和开发,同时,JavaScript也在不断发生变化。

15 年前我刚开始使用JavaScript时,在网页中使用CSS和JavaScript等非HTML技术被称 为DHTML或者动态HTML。在那之后,JavaScript的用途发生了巨大的变化,印象中主要 用于给网页添加动态雪花或者在状态栏中添加动态时钟。说实话,职业生涯的早期我并没 有对JavaScript给予足够的重视,因为在我看来它主要的功能就是编写一些有趣的小东西。

直到 2005 年我才第一次认识到JavaScript是一门真正的编程语言, 应当受到我的重视。 仔 细研究了谷歌地图的第一个测试版本之后, 我被它的潜力深深地吸引住了。 在那时, 谷歌 地图是一个史无前例的应用—— 你可以用鼠标移动和缩放地图, 并且可以在不重载页面的 情况下发起服务器请求——这些全部用JavaScript完成,简直就像魔法一样!

如果某些事情对你来说像魔法一样, 那意味着你看到了新生事物的曙光。 我的想法是正确 的—— 今天, 无论在客户端还是服务端,JavaScript都已经成为了我的一门主要编程语言, 没有其他语言比它更适合完成这些工作。

回顾这 15 年, 有一件事我很后悔, 那就是没有在 2005 年之前给予JavaScript足够的重视。 更准确地说, 我并没有想到JavaScript会像C++、C#、Java等语言一样, 成为一门非常有 用的真正的编程语言。

如果在一开始时就能遇到“ 你不知道的JavaScript”系列丛书, 我的整个职业生涯都会大 不相同。 对于这个系列丛书, 我非常欣赏的一点是: 它可以用有趣并且有效的方式帮助你 构建起对于JavaScript的理解。

本书第二部分“this和对象原型”非常不错, 它很好地衔接了本书第一部分“ 作用域和闭 包”,进一步介绍了JavaScript语言中非常重要的两个部分,this关键字和原型。 这两个部 分对于你未来的学习来说非常重要, 它们是使用JavaScript进行编程的基础。 只有掌握了 如何创建、关联和扩展对象,你才能用JavaScript创建类似谷歌地图这样大型的复杂应用。

在我看来, 绝大多数Web开发者可能都没有创建过一个JavaScript对象, 他们只是把

JavaScript当作按钮和AJAX请求之间的事件绑定粘合剂。 其实我也曾经是他们中的一员, 但是当我学会在JavaScript中使用原型和创建对象之后, 整个世界都变样了。 如果你也只 会编写事件绑定代码, 那么这本书是非读不可的; 如果你只想复习一下的话, 这本书也一 定是首选。无论如何,你绝对不会失望的,相信我!

——Nick Berardi nickberardi.com Twitter:@nberardi