看到第六章了发现了一些问题,我会将自己陆陆续续发现的一些问题列出来供大家讨论。
我自己的测试环境:
操作系统 : Windows 7
浏览器版本: IE 10, FF 24.0, Chrome 31.0.1626.1 m Aura
以后的讨论都基于这个版本。
【1】
P140 中间那段,“一旦把属性定义为不可配置的,就不能再把它变回可配置。此时,再调用Object.defineProperty()方法修改除writable之外的特性,都会导致错误”。
我在自己的PC上实验了一下,
这三个浏览器的表现一致,如下
将configurable设置为false之后:
(1) 可以继续将writable从true设置为false,但是不能将writable从false设置为true
(2) 可以使用person.name="greg"修改perosn.name的值,并且修改生效
我查了一下 ECMA-262 5th标准,其对configurable有如下描述:
If false, attempts to delete the property, change the property to be an accessor property, or change its attributes (other than [[Value]) will fail. 说的是不可以修改除了Value之外的其他的属性。
我查了下英文原版的这本JS 高级程序设计,中文翻译确实是按照英文版本的来的,不知道是不是英文版的作者就写错了?
【2】
P140最后一段,“在调用Object.defineProperty()方法时,如果不指定,configurable,enumerable,writable特性的默认值都是false”
这句说的很模糊,不知道什么意思,是说我在调用这个方法如果不显示指明configurable的值那么其就是false的意思吗?我测试了一下不是这样啊,在ECMA-262标准上也没有找到出处。
我在自己的PC上测试,发现对于数据属性,其默认的configurable和enumerable属性为true,而对于访问器属性,器enumberable和configurable属性值为false,看样子浏览器就是根据是否为这个属性定义了getter和setter来判断这个属性是数据属性还是访问器属性的。
JavaScript高级程序设计 第三版 勘误
对“JavaScript高级程序设计 第三版 勘误”的回应
《JavaScript高级程序设计》热门书评
-
入门的好书
61有用 5无用 雨果僧 2011-03-27
如果说《javascript权威指南》是一本字典,那zakas这本《javascript高级程序设计》可以算是一本由浅入深的好读物。 如果入门js的话,我比较推荐这本,再搭配权威指南那本书,基本看完后,对j...
-
如果你只看一本JavaScript的书,哪就是这本。
14有用 3无用 倪森 2007-07-15
书籍太多了,我们反而不能每本都详读。如果你需要全面的了解JavaScript,知道JavaScript的语法,DOM,正则表达式,事件,浏览器差异等等,那么仅仅看这本书就够了,剩下的就是需要一个api手册和不停的实践了。...
-
美好的语言,糟糕的实现
11有用 9无用 cxa 2006-10-07
美好的语言,糟糕的实现。为了商业利益,置标准为草芥,浏览器大战的后遗症,就是再好的语言,它们都给你最糟糕的实现。这本书在一定程度上是解决浏览器之间的差异,并使用趋近“标准”的代码来教学。值得一读。...
-
我觉得这本书很不错
9有用 1无用 lovevfp 2010-07-22
从第一版到第二版,我感觉还是很不错的,里面增加了很多有用的内容。比如对移动端检测,还有富文本编辑器,还有html5.。。还有很多东西,。...
-
前端必备
6有用 0无用 zhaomin0574 2012-11-09
像这种书,看一遍不能算看过。像这种书,一定要自己拥有纸质的,可以划线,可以做笔记,可以用各种颜色mark。从图书馆借的,或是电子版的,都no no no.讲得很全面详细,例子也很给力,由浅入深,推荐。总之前端必备吧。...
书名: JavaScript高级程序设计
作者: [美] Nicholas C·Zakas
出版社: 人民邮电出版社
译者: 曹力 | 张欣
出版年: 2006年9月
页数: 670
定价: 59.00元
装帧: 简裝本
丛书: 图灵程序设计丛书·Web开发系列
ISBN: 9787115152091