JavaScript权威指南勘误记录

来源:互联网 发布:js调用dll 编辑:程序博客网 时间:2024/05/17 02:30

记录我所认为的第六版中文版的错误;欢迎批评~~

P56

myscope = "local";  //这里显式地声明了一个新的全局变量

myscope = "local";  //这里隐式地声明了一个新的全局变量

P57

checkscope()  // => "嵌套的作用域"

// 注释部分应保持英文不翻译checkscope()  // => "nested scope"

P75

如果两个值都是null或者都是undefined,则它们不相等。

如果两个值都是null或者都是undefined,则它们相等。

P77

String.localCompare()方法

String.prototype.localeCompare() // 个人觉得是prototype; 并且是localeCompare

P125

如果之前o继承自属性x

如果之前o继承了属性x下同,所有“继承自”都应改为“继承了”。

P129

//如果x是undefinednullfalse" "0或NaN,则它保持不变

字符串中应没有空格://如果x是undefinednullfalse""0或NaN,则它保持不变

P140

Object.esExtensible()

Object.isExtensible()

P145

var a1 = [,,,]  0 in a1  // => true 

var a1 = [, , ,];console.log(0 in a1);// false

P150

if (!a[i]) continue;        // 跳过 null, undefined 和不存在元素

if (!a[i]) continue;        // 跳过 null, undefined , 0, '' 和不存在元素

P152

数组方法

// 个人觉得方法不都是在 Array.prototype 上的吗?// P163 说在Firefox 上可以使用 Array.join() 等,但是chrome下失败........

P196

var even = function(x) {        // 判断a是否为偶数的函数    return x % 2 === 0;};

var even = function(x) {        // 判断x是否为偶数的函数    return x % 2 === 0;};

P203

var r = range(1, 3);console.log(r.includes(2));r.foreach(console.log);console.log(r);             // 输出(1...3)

var r = range(1, 3);console.log(r.includes(2));r.foreach(console.log);         // node下正确  chrome/firefox的 Console 下输出如下错误:                                // TypeError: 'log' called on an object that does not implement interface Console                                // 参考: https://bugzilla.mozilla.org/show_bug.cgi?id=989619console.log(r); // node下: { from: 1, to: 3 }   chrome下: Object {from: 1, to: 3, includes: function, foreach: function, toString: function}console.log(r.toString());          // 显示 或 隐式 调用才会输出 (1...3)console.log(r + '');

P204

var r = range(1, 3);            // 这里应该使用 构造函数的方式了!!console.log(r.includes(2));r.foreach(console.log);

var r = new Range(1, 3);        // new Range(1, 3)console.log(r.includes(2));     r.foreach(console.log);         

P211

this.toString().match( /function\s*([^()*]\(/ )[1];

this.toString().match( /function\s*([^(]*)\(/ )[1];

P230

如果B方法重载了A方法

如果B方法覆盖了A方法  // 重载(overload)覆盖(override)// 英文原版P228  If a method of B overrides a method of A// 9.7节将所有的override都错误地翻译成了“重载”,应为“覆盖”。

重载是指不同的函数使用相同的函数名,但是函数的参数个数或类型不同。调 的时候根据函数的参数来区别不同的函数。

覆盖(也叫重写)是指在派生类中重新对基类中的虚函数(注意是虚函数)重新实现。即函数名和参数都一样,只是函数的实现体不一样。

隐藏是指派生类中的函数把基类中相同名字的函数屏蔽掉了。隐藏与另外两个概念表面上看来很像,很难区分,其实他们的关键区别就是在多态的实现上。什么叫多态?简单地说就是一个接口,多种实现吧。

重载 覆盖 解释来自于yanjun_1982

P233

但它需要完全重新实现一个add()方法

但它不需要完全重新实现一个add()方法

P255

\o     NUL字符(\u0000)]

\0     NUL字符(\u0000)]   // 是零不是欧

P256

\w  任何ASCII字符组成的单词,等价于[a-zA-Z0-9]\W  任何不是ASCII字符组成的单词,等价于[^a-zA-Z0-9]

\w  任何ASCII字符,等价于 [a-zA-Z0-9_]      // 是字符而非单词,且遗漏原文中等价类的下划线\W  任何非ASCII字符,等价于 [^a-zA-Z0-9_]

P260

/Java(?! Script)([A-Z]\w*)/

/Java(?!Script)([A-Z]\w*)/     没有空格

P260

它可以匹配“JavaScript”,但不能匹配“JavaScripter”。

// 原文: it matches “JavaScrip” but not “JavaScript” or “JavaScripter”.它可以匹配“JavaScrip”,但不能匹配“JavaScript”或“JavaScripter”。

P371

nextSibling previoursSibling   // 拼写错误

nextSibling previousSibling

P393

Window对象的ScrollTop()方法

Window对象的ScrollTo()方法

P408

function bold() { document.execCommand("bold", false, url); }

function bold() { document.execCommand("bold", false, null); }   // 没有 url.........

P409

document.queryCommandSupport()

document.queryCommandSupported()

P447 17.1.2 DOM事件

3级DOM事件规范标准化了不冒泡的focusin和focusout事件来取代冒泡的focus和blur事件

3级DOM事件规范标准化了冒泡的focusin和focusout事件来取代不冒泡的focus和blur事件

P447 17.1.2 DOM事件

标准化了冒泡的mouseenter和mouseleave事件来取代不冒泡的mouseover和mouseout事件

标准化了不冒泡的mouseenter和mouseleave事件来取代冒泡的mouseover和mouseout事件

P453 17.2.3 addEventListener()

<button id="my button">

<button id="mybutton">

P490 18.1.1 指定请求

setRequestHeader()方法的调用必须在调用open()之前但在调用send()之后

setRequestHeader()方法的调用必须在调用open()之后但在调用send()之前

P580 客户端存储_导言

本书第8章介绍过现在主流浏览器都支持一个文件对象

本书第18章介绍过现在主流浏览器都支持一个文件对象

P598 20.4.2 缓存更新_例20-4

// 事件对象应当是"process"事件(就像哪些被XH2使用的)

// 事件对象应当是"progress"事件(就像那些被XH2使用的)

参考资料

  • http://mjpclab.blog.163.com/blog/static/6234841120142250612657/
  • https://bugzilla.mozilla.org/show_bug.cgi?id=989619
  • http://blog.csdn.net/yanjun_1982/article/details/470405

文章若有纰漏请大家补充指正,谢谢~~

http://blog.xinshangshangxin.com SHANG殇

0 0
原创粉丝点击