• I posted to google.com

    JavaScript的陷阱

    这本来是翻译Estelle Weyl的《15 JavaScript Gotchas》,里面介绍的都是在JavaScript编程实践中平时容易出错或需要注意的地方,并提供避开这些陷阱的方法,总体上讲,就是在认清事物本质的基础样要坚持好的编程习惯,其实这就是Douglas Crockford很久以前提出的JavaScript风格要素问题了,有些内容直接是相同的,具体请看《Javascript风格要素(1)》和《Javascript风格要素(2)》。在翻译的过程中,我又看到了贤安去年翻译的《JavaScript的9个陷阱及评点》,其内容又有些交叉在一起,所以我就在现有翻译的基础上做了一个简单的拼合,并依据自己的理解增加了一些注释和解释。 区分大小写:变量名、属性和方法全部都区分大小写 不匹配的引号、圆括号或花括号将抛出错误 条件语句:3个常见陷阱 换行:一直用分号结束语句来避免常见的换行问题 标点法:在对象声明的尾部逗号将导致出错 HTML id 冲突 变量作用域:全局变量对局部变量 函数重载:当重载不存在时,覆盖函数 区分string.replace()函数不是全局的 parseInt应该包含两个参数 “this”和绑定问题 为参数设置默认值,以免你遗漏它们 for each循环是用于对象而不是数组 switch语句需要点技巧 总是在检查undefined前检查null 时间处理陷阱 区分大小写 变量名和函数名都是区分大小写的。就像配错的引号一样,这些大家都知道。但是,由于错误是不作声的,所以这是一个提醒。为自己选择一个命名规则,并坚持它。而且,记住JavaScript中的原生函数和CSS属性都是骆驼拼写法(camelCase)。 getElementById(’myId’) != getElementByID(’myId’); //它应该是“Id”而不是“ID” getElementById(’myId‘) != getElementById(’myID‘); // “Id”也不等于“ID” document.getElementById('myId').style.Color; //返回 "undefined"…

    October 26 2008, 9:26am | Comments »

Page: 1