简约的 Javascript 语法书_JavaScript语言精粹书评-查字典图书网
查字典图书网
当前位置: 查字典 > 图书网 > 科技 > JavaScript语言精粹 > 简约的 Javascript 语法书
小海 JavaScript语言精粹 的书评 发表时间:2010-01-14 23:01:34

简约的 Javascript 语法书

    在使用 Javascript 语言十几年后,回过头来看一本关于它的语法书,还能了解到不少之前没有关注到的细节,并加深对很多概念的认识,不能不佩服 Douglas Crockford 的功力。
    就如其“最被低估的编程语言”称号所述,Javascript 实际上是一门非常优秀的语言,看似熟悉的语法之下隐含的是完全不同的世界观。尤其是在学、用erlang这种函数语言几年后,更能体会其很多设计元素的精巧之处。

    转贴几条twitter上记录的读书笔记备查:

    http://digg.com/d1uK9z Javascript语言中支持四类函数调用方式,1)全局函数2)对象方法3)构造函数4)apply/call调用。区别在于函数内this指针的绑定,分别是 1)Global对象2)调用对象3)构造返回对象4)调用时传入的第一个参数。

    http://digg.com/u1K7Y4 作为 Prototype-base 和 Functional 编程混杂体的 Javascript,居然不提供尾递归 (tail-end recursion) 真是个杯具啊。所有有人想出了这种用 setTimeout 模拟的山寨办法:S

    http://digg.com/u1K7ca 没有变量块作用域 (Block Scope) 的支持,是 Javascript 语义上与 C/C++ 系统又一重大区别。但回过头来看 Python/Scheme 也不提供块作用域的支持,究竟是当年的设计错误还是我们的思维定势问题?

    http://digg.com/u1K7mx A Better Javascript Memoizer 利用闭包(Closure)和匿名方法(anonymous function),实现针对任意参数个数的 memoizer 模式,对复杂函数的计算结果进行缓存,那是相当的优雅。

    http://tinyurl.com/yb8hhbb 说起来Javascript中自动添加语句结束分号(semicolon insertion)也算是一个功能,可以很大程度上提高对网页上语法不规范脚本的兼容性。杯具的是各家的容忍限度不同方法不同,所以基本被列入不应被使用的糟粕。

    http://digg.com/u1K8Ki Javascript 里面的 NaN 本身就是个杯具,NaN != NaN但 typeof NaN === 'number',必须通过 isNaN 或 isFinite 才能筛选出,但这个可怜的函数又会自动对参数进行隐式类型转换 :S

    假以时日,HTTPS 和 Javascript 有可能成为 Web 领域,类似今天 TCP/IP 和 C/C++ 的基础构架的地位。不知十年后再回头看今日的理解,又是一番如何的景象,期待。

展开全文
有用 21 无用 1

您对该书评有什么想说的?

发 表

推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

对“简约的 Javascript 语法书”的回应

诛仙神剑 2016-03-25 22:54:23

果真如此。还用不到十年。

jason 2015-04-29 18:45:36

你的夙愿要实现了

Marble Arch 2014-10-11 13:38:00

有了node之后,现在果然就是这个样子了...

gunofmoon 2011-03-30 14:11:23

在学习了Lisp后,再来看看现代的高级语言,发现越是现代的语言越接近Lisp,不得不说是件很神奇的事情