今天在Google Reader上看到一篇 JavaScript的陷阱 @ 随网之舞,颇为感慨,这些个错误我也是犯之再犯...以下也说说我的体会:
最常犯的错误
因为编辑器的帮助,养成了机械式的关闭一些匹配符号的习惯,所以也不会存在“不匹配的引号、圆括号或花括号”的问题,所以“多余的逗号”成了我最常犯的错误。由于写CSS的习惯,总会在每条css属性定义后加;,这样的习惯也使我在定义一些javascript对象的时候,会在每个属性后面加一个,。写的正欢,总会变成这样:
.highlight {
text-align:center;
font-size:1.1em;
color:lightblue;//CSS这样写没错
}
...
var highlight = {
"text-align":"center",
"font-size":"1.1em",
"color":"lightblue",//javascript这样写,IE8以前的IE版本会报错
}
如何防止这个问题,自己也很郁闷,也因此这一条在我的”错误排除榜“上高居榜首。
最郁闷的错误
最让人郁闷的是一些无意的错误,不会抛出错误,让人很难排查。文中提到的条件语句的第2个陷阱:
把第二个参数的值赋给第一个参数。因为它是一个逻辑问题,它将一直返回true且不会报错。
一个等号和两个等号,在庞大的代码里面,通常会很不起眼,很容易让人有错觉。自己啃这个骨(苦)头已经不是一次两次了,因此这个进入了”错误排除榜“的三甲。
最无知的错误
之前由于基础不扎实的缘故,经常会犯一些无知的错误,而浪费大把的时间来调试。比如文中提到的parseInt,一直不知道它有第二个参数。当然这闹了很多笑话,也让我长了脑子...
做事的时候一定要以一个平和的心态,不要让自己太High,当然这也是个人见解
JS调试起来太痛苦了...出错了一点提示都没有, 完全不知道脚步停在哪儿...
可能就是IE 会麻烦一点,firefox和safari都有很好的调试工具,比如firefox的扩展firebug
呵呵,是这样的,FF下我基本上是用firebug了,很好用,功能也很强大,IE下就有点头痛了,IE8下到是有个工具,但也不好用,
IE 下调试js 可以试试 Companion.JS
我这里IE安装任意的扩展以后,都会出现问题,哎...
@fireyy, 那就等IE8的developer tools
@voidman, 准备把虚拟机里的IE升到IE 8 RC1,试试developer tools