这些天在为Qomo项目写“JavaScript面向对象的支持”这组文章。也一直在期待网上购得的那本《JavaScript 权威指南》(第四版)快快到来。

在前公司,有这本书的第二或第三版,也一直将这本书视为经典。但那时并没有深入的去看它前几章的概念性叙述,而是把它当成一本手册来查。现在却刻意地关注了,因为Qomo的底层是以纯理论的OOP为基础的。

今天这本书终于寄到了,但是一读之下,大失所望。不知道作者对JavaScript语言的理解能力不够,还是他对OOP的理解不够。《JavaScript权威指南》这本书对面向对象的叙述不但不专业,而且还错误百出。实在不值一看。

试举几例:

× JavaScript没有正式的类的概念,……,它用构造函数和原型对象模拟了类
事实上,JavaScript的确没有正式的类的概念,但模拟类的只是构造函数而不包括原型对象。因为类是“声明”,对象是实体。用“实体”去模拟“声明”原本就说不通。在JScript中,类的检测是通过对构造函数来进行的,而不是一种基于原型的检测。

× JavaScript中的实例属性是那些在对象中用构造函数创建的或初始化的属性
这个问题出现在所谓的“实例属性”还有一种与构造函数无关的情况,也就是直接对原型属性声明。例如“MyObject.prototype.prop_1 = 'abcd'”,因此上面这种定义是不完整的。

×类属性类方法
JavaScript中没有“类”,因此也没有类属性与类方法。只不过构造器(函数)也被对象系统理解为“对象”,因此构造器也可以创建新的属性和方法。——这只是它作为一个“单独的对象实例”的特性而已,把这个作为类属性和类方法,很不合逻辑。

类似这样的问题非常之多,显得作者的逻辑很混乱。作者甚至没有办法为读者理清脚本环境与DOM环境的异同,这在第四章关于局部变量、执行环境和作用域等问题的讨论中(4.6~4.7节)尤其突出。

因此,我相信没有多少人能读明白这本书有关JavaScript中对象系统的描述。此外,这本书将JavaScript、DOM和CSS这几种不同层次的体系揉到一起来讲述,尽管使这本书内容显得更为丰富而且刺激了购买,然而也使读者不得不在几个不同的泥坑中跳来跳去,最终无所适从。

因此作为建议,最好是把这本书当成一本手册来查阅,而不是当作理论上的经典。随便说一点,这不是翻译的过错,而真的是作者的问题。

出自同一家出版社的《Delphi技术手册》的翻译被一些人骂得很惨,但事实上是读不懂书的人在胡言。——那本书的翻译得是非常精道的,一些看似拗口的译文其实很精准,多读两遍就懂了。与此相较,这本《JavaScript权威指南》的作者,看起来对“JavaScript的对象系统”就未必深彻地了解和思考过了。

转载于:https://www.cnblogs.com/encounter/archive/2006/01/24/2188720.html

经典的《JavaScript 权威指南》中的“对象”不经典相关推荐

  1. 《JavaScript权威指南》——JavaScript核心

    前言 这本由David Flanagan著作,并由淘宝前端团队译的<JavaScript权威指南>,也就是我们俗称的"犀牛书",算是JS界公认的"圣经&quo ...

  2. 《JavaScript 权威指南》犀牛书阅读详解

    前言: <JavaScript 权威指南>(JavaScript:The Definitive Guide)是一本由David Flanagan所著的JavaScript领域的经典书籍,它 ...

  3. JavaScript权威指南(第6版)

    JavaScript权威指南(第6版) 编辑推荐 经典权威的JavaScript工具书 本书是程序员学习核心JavaScript语言和由Web浏览器定义的JavaScript API的指南和综合参考手 ...

  4. 《JavaScript权威指南》笔记(一)

    2019独角兽企业重金招聘Python工程师标准>>> <JavaScript权威指南>真是名符其实的好书!真遗憾初学JavaScript时没有立即读这本书,甚为遗憾.不 ...

  5. JavaScript权威指南 - 函数

    函数本身就是一段JavaScript代码,定义一次但可能被调用任意次.如果函数挂载在一个对象上,作为对象的一个属性,通常这种函数被称作对象的方法.用于初始化一个新创建的对象的函数被称作构造函数. 相对 ...

  6. JavaScript 权威指南-学习笔记(一)

    本文所有教程及源码.软件仅为技术研究.不涉及计算机信息系统功能的删除.修改.增加.干扰,更不会影响计算机信息系统的正常运行.不得将代码用于非法用途,如侵立删! JavaScript 权威指南-学习笔记 ...

  7. Javascript权威指南学习笔记一:数据类型

    决定从最基础的开始学JavaScript,最近看了<<Javascript权威指南>>第3章,记些笔记备忘. 本章一个重点是类型.按我的理解应该如下表所示: 复合类型中,关联数 ...

  8. JavaScript权威指南 - 数组

    JavaScript数组是一种特殊类型的对象. JavaScript数组元素可以为任意类型,最大容纳232-1个元素. JavaScript数组是动态的,有新元素添加时,自动更新length属性. J ...

  9. javascript权威指南 学习笔记之变量作用域

    最近一直在看<javascript权威指南 第五版>,变量作用域这一章,看得真的有点累.不过,收获还是多多. 不知道,大家对语言中变量的"声明"与"定义&qu ...

最新文章

  1. SilverLight学习笔记--建立Silverlight自定义控件(5)--绑定动画效果
  2. sohu邮箱outlook设置_Outlook2016如何配置QQ邮箱详细步骤
  3. mysql数据库自动重新连接_mysql数据库自动重新连接
  4. 转仁兄:Binary search and its variation
  5. Java大数据处理的流行框架
  6. Android有道词典查询功能
  7. [日志]家居清洁十大秘笈
  8. VMware NSX 6组件通信图
  9. 一个销售精英拜访客户的6大绝招,胜过10次培训,实用!
  10. 小白也能看懂的 Java 异常处理
  11. 深度系统文件服务器,深度系统镜像文件
  12. 基于润和hi3516 dv300开发板,体验鸿蒙3.0 L1小型系统拍照Sample
  13. python3 多线程爬去mzitu图片
  14. 【2020版】Basic4Android安装配置指南
  15. 怎么把图片的边缘弄圆_如何PS制做出边缘清晰或虚化的圆角照片
  16. css 比较好看的字体
  17. 笔记本电池不行 省电妙招
  18. Maya 更改模型枢轴位置 Day1
  19. 全球最牛的4个区块链项目都在这里!
  20. N9K配置Vxlan

热门文章

  1. 统计app用户在线时长_优质的APP推广渠道,应该如何筛选?
  2. ssr面板_碧蓝航线:详解SSR里诺强不强 航母专用保姆 三流防空特化型轻巡
  3. golang json转结构体中嵌套多个数组_ElasticSearch第六篇:复合数据类型-数组,对象...
  4. 3.QML布局和输入元素
  5. opencv标定函数解说
  6. 7 centos 设置jvmgc_centos7配置java环境变量
  7. qstringlist格式怎么写到txt_进阶能力 | 一招解决TXT电子书乱码问题
  8. 在普通Java类里使用spring里注入的service、dao等
  9. 集群四 mysql-5.7.16一键安装
  10. Android 唯一标识获取