`

《JavaScript语言精粹(修订版)》试读-- 厚积薄发的好书

 
阅读更多

     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

    JavaScript语言精粹.修订版---高清版.pdf

    JavaScript语言精粹 修订版 pdf

    JavaScript语言精粹修订版pdf是许多朋友都在寻找的一款学习资料,在这里能够为您详细的介绍JS这门计算机语言,作者从语法、对象、函数、继承、数组、正则表达式、方法、样式和优美的特性这9 个方面来呈现这门语言...

    JavaScript语言精粹_修订版.pdf

    JavaScript语言精粹_修订版.pdf

    JavaScript语言精粹完整版

    JavaScript语言精粹完整版,想要提升的朋友有福了。

    JavaScript语言精粹(修订版)

    "JavaScript语言精粹(修订版)"是一本深入探讨JavaScript编程精髓的书籍,旨在帮助开发者掌握其核心概念、最佳实践以及常见陷阱。这本书对初学者和经验丰富的开发者都具有很高的价值,能够提升对JavaScript的理解和...

    JavaScript语言精粹 修订版 中文高清PDF

    《JavaScript语言精粹 修订版》是一本深受前端开发者喜爱的经典教材,专注于讲解JavaScript的核心概念和最佳实践。这本书深入浅出地介绍了JavaScript的精髓,帮助读者掌握这门强大的脚本语言,尤其对于前端开发人员...

    JavaScript语言精粹 修订版 .pdf

    JavaScript语言精粹 修订版 .pdf

    JavaScript语言精粹 修订版

    JavaScript语言精粹 修订版

    JavaScript语言精粹修订版

    本书通过对JavaScript语言的分析,甄别出好的和坏的特性,从而提取出相对这门语言的整体而言具有更好的可靠性、可读性和可维护性的JavaScript的子集,以便你能用它创建真正可扩展的和高效的代码。 雅虎资深...

    JavaScript 语言精粹(修订版,文字版+扫描版)

    本书通过对JavaScript语言的分析,甄别出好的和坏的特性,从而提取出相对这门语言的整体而言具有更好的可靠性、可读性和可维护性的JavaScript的子集,以便你能用它创建真正可扩展的和高效的代码。 雅虎资深...

    JavaScript语言精粹_修订版带书签.pdf

    JavaScript语言精粹,已经编辑好书签,分享给各位初学者

    JavaScript语言精粹(翻译版+英文版)

    《JavaScript语言精粹》是一本深入探讨此语言核心概念和技术的书籍,分为翻译版和英文原版,为开发者提供了全面而深入的学习资源。 翻译版是以.pdf格式呈现,包含了详细的目录,方便读者快速定位和查阅所需内容。这...

    JavaScript语言精粹(修订版).epub

    JavaScript语言精粹(修订版).epubJavaScript语言精粹(修订版).epubJavaScript语言精粹(修订版).epubJavaScript语言精粹(修订版).epubJavaScript语言精粹(修订版).epubJavaScript语言精粹(修订版).epubJavaScript语言...

    JavaScript语言精粹.pdf

    本书通过对JavaScript语言的分析,甄别出好的和坏的特性,从而提取出相对这门语言的整体而言具有更好的可靠性、可读性和可维护性的JavaScript的子集,以便你能用它创建真正可扩展的和高效的代码。 雅虎资深...

    javascript语言精粹 pdf

    《JavaScript语言精粹》是JavaScript开发者必读的经典之作,它深入浅出地讲解了JavaScript语言的核心概念和实用技巧。这本书不仅适合初学者作为入门指南,也适合经验丰富的开发者用来巩固和提升自己的技能。 首先,...

    javascript语言精粹.修订版.pdf

    javascript是世界上最被误解的语言,这本书能够帮助你区分哪些是语言的精华,哪些是糟粕,对于语言精华,应该深入学习。

    JavaScript语言精粹(修订版)_itjsveryclever_JavaScript语言精粹(修订版)_

    《JavaScript语言精粹(修订版)》是JavaScript编程领域的一部经典著作,由知名的JavaScript专家Douglas Crockford撰写。这本书深入浅出地探讨了JavaScript的核心特性,旨在帮助读者掌握这门语言的精髓,提高编程...

    JavaScript语言精粹(修订版).pdf

    JavaScript语言精粹(修订版), 文字版本,目录齐全,高清,秒杀扫描版本。

Global site tag (gtag.js) - Google Analytics