javascript方面的好书很多,比如Nicholas C. Zakas写的几本我都喜欢。但大多数主要讲述浏览器的前端开发技术,对于javascript只是介绍语法,而没有对语言本身进行过评价。那本犀牛书(《javascript权威指南》)非常棒,内容完整又处处闪烁着真知灼见,不过那本书太厚太重了,只适合放在书架上作参考书。从编程范式的角度来说,javascript作为一门动态语言,集过程式、对象式、函数式、事件驱动式、元编程等于一身,强大与优雅超乎想象,但在实践过程中,却是很容易弄糊涂,仔细想来,完完全全的关注javascript语言本身,而且是分析它的优缺点书好像只有这本。
试读的部分很简短,一会儿时间能让我来回看几遍,我是如此的赞同作者的观点,以致于迫不及待的想表达自己的浅见。
1、关于动态对象
在接触javascript之前,我了解的VB、Delphi、Java、C#等都是先有类型Class,再根据类型new一个对象实例,这种观念是如此的根深蒂固,以致于我认为所有的OO都是如此。所以一度对javascript的this、原型链很是困惑。后来才逐渐觉得这种方案同样美妙,比如我印象中一篇讲青蛙对象的
// 一开始啥都不是
var life = {};
// 然后是卵细胞
life.body = "卵细胞";
life.say = function(){alert(this.body)};
// 再变成蝌蚪,长出了尾巴和腮
life.tail = "尾巴";
life.gill = "腮";
life.body = "蝌蚪";
life.say = function(){alert(this.body+"-"+this.tail+","+this.gill)};
// 最后变成青蛙,没有了尾巴和腮,但是长出了肺
delete life.tail;
delete life.gill;
life.legs = "四条腿";
life.lung = "肺";
life.body = "青蛙";
life.say = function(){alert(this.body+"-"+this.legs+","+this.lung)};
这是一个青蛙对象,在不同的阶段属性是不同的,方法也可以是不同的。如果用类型来描述,需要罗列出所有的属性,每个再给出类似hasTail、hasGill的判断方法,这样既不方便也不自然。而动态类型是如此的简洁和美妙,在结构和功能都充分体现了动态,让我思考OO非要Class吗?
2、关于函数
大多数语言代码和数据是截然不同的东西,但在javascript里代码也可以作为数据。
看看 var i=5 和 var f = function(alert('test')); 这没什么不同。
在javascript函数也是对象,它的特殊在于可以被调用。
3、关于原型继承
方法调用时如果this对象里没有本方法,那么就去找它的原型对象是否有这个方法,如果还没有,继续找原型的原型。
这意味着我可以把公共方法和静态的属性放到公共原型中,这样,大量新建的对象可能只要保留自身特有的属性值就可以了。
4、对象字面量
用一条语句可以建立包含多个层次的对象,简单而优雅。
在用过json之后,我再也不想用xml了,估计你也会这样。
这不是一本给初学者的书,如果你尝试过用javascript建立自己的对象体系,开发js组件或者去分析Dojo、Ext JS这样的大型js库的话,你会因为作者的很多看法而引为知己。否则如果你读过上个版本的话,相信它清晰的论述能解开你心中的迷惑。至少它介绍的函数的四种调用模式让我有醍醐灌顶的感觉。
试读章节文字很流畅,感谢作者,翻译和博文视点,可惜试读内容太少,很不过瘾,糟粕部分的描述只提到了最糟糕的全局变量。其它我想应该会包括变量的作用域吧。确如译者所言,这本书很薄,但承载的内容却非常的丰厚和深入。
分享到:
相关推荐
JavaScript语言精粹修订版pdf是许多朋友都在寻找的一款学习资料,在这里能够为您详细的介绍JS这门计算机语言,作者从语法、对象、函数、继承、数组、正则表达式、方法、样式和优美的特性这9 个方面来呈现这门语言...
《JavaScript语言精粹》修订版还涵盖了JavaScript的最新发展,例如ES6及后续版本的新特性,如箭头函数、类、模板字符串、解构赋值等。此外,Douglas Crockford对语言中的一些"坏部分"(如with关键字和全局变量)进行...
"JavaScript语言精粹(修订版)"是一本深入探讨JavaScript编程精髓的书籍,旨在帮助开发者掌握其核心概念、最佳实践以及常见陷阱。这本书对初学者和经验丰富的开发者都具有很高的价值,能够提升对JavaScript的理解和...
《JavaScript语言精粹 修订版》是一本深受前端开发者喜爱的经典教材,专注于讲解JavaScript的核心概念和最佳实践。这本书深入浅出地介绍了JavaScript的精髓,帮助读者掌握这门强大的脚本语言,尤其对于前端开发人员...
JavaScript语言精粹 修订版 .pdf
JavaScript语言精粹_修订版.pdf
JavaScript语言精粹 修订版
本书通过对JavaScript语言的分析,甄别出好的和坏的特性,从而提取出相对这门语言的整体而言具有更好的可靠性、可读性和可维护性的JavaScript的子集,以便你能用它创建真正可扩展的和高效的代码。 雅虎资深...
本书通过对JavaScript语言的分析,甄别出好的和坏的特性,从而提取出相对这门语言的整体而言具有更好的可靠性、可读性和可维护性的JavaScript的子集,以便你能用它创建真正可扩展的和高效的代码。 雅虎资深...
JavaScript语言精粹,已经编辑好书签,分享给各位初学者
#### 二、《JavaScript语言精粹(修订版)》 **知识点概述:** 1. **基础语法:** - 熟悉变量声明、数据类型和运算符。 - 掌握函数定义和调用的基本规则。 2. **面向对象编程:** - 了解JavaScript的原型链...
《JavaScript语言精粹(修订版)》是JavaScript编程领域的一部经典著作,由知名的JavaScript专家Douglas Crockford撰写。这本书深入浅出地探讨了JavaScript的核心特性,旨在帮助读者掌握这门语言的精髓,提高编程...
JavaScript语言精粹 中文版 共两部分
《JavaScript语言精粹修订版》是一本深入探讨JavaScript编程的权威书籍,旨在帮助读者掌握这门广泛应用于Web开发的关键语言。书中的内容丰富多样,涵盖了从基础语法到高级特性的全面讲解,对于想要提升JavaScript...
"JavaScript语言精粹_修订版【高清】带书签 PDF"是一本专门为JavaScript初学者和进阶者编写的指南,旨在帮助读者深入理解并掌握这种强大的脚本语言。 该书修订版可能包含对原版内容的更新和优化,以适应不断发展的...
"JavaScript语言精粹_修订版带书签.pdf" 这本书是开发者深入理解JavaScript语法、特性及最佳实践的重要参考资料。书中的修订版意味着它包含了最新的更新,以适应JavaScript语言的不断发展。 JavaScript最初由...
JavaScript语言精粹_修订版 javascript经典之作高清最新版,非常清晰