骚扰我的JavaScript的陷阱

今天在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,当然这也是个人见解 :)

已有 7 条评论 »

  1. JS调试起来太痛苦了...出错了一点提示都没有, 完全不知道脚步停在哪儿...

  2. 可能就是IE 会麻烦一点,firefox和safari都有很好的调试工具,比如firefox的扩展firebug

  3. 呵呵,是这样的,FF下我基本上是用firebug了,很好用,功能也很强大,IE下就有点头痛了,IE8下到是有个工具,但也不好用,

  4. IE 下调试js 可以试试 Companion.JS

  5. 我这里IE安装任意的扩展以后,都会出现问题,哎...

    1. @fireyy, 那就等IE8的developer tools

      1. @voidman, 准备把虚拟机里的IE升到IE 8 RC1,试试developer tools

添加新评论 »

You should say a Chinese word to pass spam check. If you can not input Chinese, just copy 你好 and paste them into comment text box.