读书频道 > web开发 > Javascript > Effective JavaScript:编写高质量JavaScript代码的68个有效方法
2013-12-07 13:26:04     我来说两句 
收藏    我要投稿   
本书共分为7章,分别涵盖JavaScript的不同主题。第1章主要讲述最基本的主题,如版本、类型转换要点、运算符注意事项和分号局限等。第2章主要讲解变量作用域,介绍此方面的一些基本概念,以及一些最佳实践经验。第  立即去当当网订购

众所周知,我在1995年5月用了10天时间创建了JavaScript语言。迫于现实的压力和冲突管理的势在必行,我将JavaScript设计为“看起来像Java”、“方便初学者”、“在网景浏览器中几乎能控制它的一切”的编程语言。

鉴于极具挑战性的要求和非常短的时间表,我的解决方案除了正确获得了两大特性之外(第一类函数、对象原型),还将JavaScript设计为一开始就极具延展性。我知道一些开发者不得不对最开始的几个版本“打补丁”来修正错误,这些先驱的方法比我使用内置库胡乱拼凑的方法更好。举例来说,虽然许多编程语言都限制了可变性,在运行时不能修改或扩展内置对象,或者标准库的名称绑定不能通过赋值被覆盖,但是JavaScript几乎允许完全改变每个对象。

总的来说,我相信这是一个很好的设计决定。它明确了某些领域的挑战(如在浏览器的安全边界内,安全地混用可信和不可信的代码)。对于JavaScript来说,支持所谓的猴子补丁是很重要的。凭借它,开发者可以编辑标准对象来解决Bug和仿效“未来”的功能改造一些旧的浏览器(称为polyfill库的shim,在美式英语中称为spackle)。

除了这些平凡的应用之外,JavaScript的可塑性鼓励用户沿着几个更富有创造性的方向形成和发展创新网络。这使得用户仿效其他编程语言,创建了许多工具包和框架库:基于Ruby的Prototype、基于Python的MochiKit、基于Java的Dojo以及基于Smalltalk的TIBET。随后是jQuery库(“JavaScript的新浪潮”),2007年我第一次看到它,对我来说,我似乎是一个后来者。它暴风雨般地引领着JavaScript的世界,异于其他编程语言,而从旧的JavaScript库中学习,开辟了浏览器的“查询和做”(query and do)模型,从根本上简化了浏览器。

这引领着JavaScript用户群及其创新网络,促成了一种JavaScript“自家风格”。这种风格仍在仿效和简化其他的程序库,也促成了现代Web标准化的工作。

在这一演变的过程中,JavaScript保持了向后兼容,当然默认情况下,它是可变的。另外,在ECMAScript标准最新的版本中新增了一些方法来冻结对象和封闭对象的属性,以防止对象扩展和属性被覆盖。JavaScript的演进之旅远未结束。这就像生活的语言和生物系统一样,变化始终存在。在此之前,我无法预见一个单一的横扫其他程序库的“标准库”或编码风格。

没有语言不是怪癖的,或者所有语言几乎都是受限地执行常见的最佳实践。JavaScript是一门怪癖的或者充满限制主义色彩的编程语言。因此,与大多数其他的编程语言相比,想要高效地使用JavaScript编程,开发人员必须学习和追求优秀的风格、正确的用法和最佳的实践。当考虑如何做到最高效,我相信避免过度编程和构建刚性或教条式的风格指南是至关重要的。

本书以一种平衡的方式讲解JavaScript编程。它基于一些具体的实证和经验,而不迂回于刚性或过度的方法。我认为对于许多寻找以不牺牲表现力,并希望自由采用新思想和编程范式来编写高效JavaScript的人来说,它是一位重要的助手和可信赖的向导。它也是一本备受关注、充满乐趣和拥有许多令人叹为观止的示例的读物。

最后,自2006年,我有幸结识David Herman。那是我第一次以Mozilla代表的身份邀请他作为特邀专家在Ecma标准化机构工作。Dave深刻、谦逊的专家意见以及他的热情让JavaScript在书中的每一页大放异彩。本书绝无仅有!

Brendan Eich

点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:译者序
下一篇:前言
相关文章
图文推荐
3.12 本章小结
3.10 添加新函数
3.9 递归
3.8 闭包
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站