读书人

爱犯的弱智异常(初学者必看)

发布时间: 2012-09-01 09:33:03 作者: rapoo

爱犯的弱智错误(菜鸟必看)

?? 做了开源以后,最大的感触就是:沟通增加了,信息来源增加了。提问的朋友很多,各种问题都会有,有时候在解答时也是很郁闷,这两天感觉适当总结一下自己以及周围朋友在制作 js 时爱犯的弱智错误,还是很有必要的。这些弱智错误经常会让我们抓狂——这么简单的东西怎么就是总出错呢?反复检查好几遍就是找不到错误,一旦你恍然大悟时,必然会惊呼:啊!太弱智了。。。。


? ? 这篇文章肯定无法帮助你应付面试(面试一般不会考你“弱智错误”的),也肯定不会让你的技术水平得到深入的提高(弱智错误一般和你使用的技术深浅无关),但应该能让你在调试代码的过程中提高效率(更多是一种习惯 或者说还是“细节决定成败”),如果能对这些弱智错误牢记心间的话,当你遇到那些怎么改都改不对的时候,就要想想“是不是我犯了弱智错误??”,所以本篇文章主要献给菜鸟们,对于老手来说,欢迎多多提供自己的经验教训,让菜鸟们能够更快的成长起来。


? ? 闲言少叙,直接看正文:


? ??No.1 ?大小写不一致

? ? 把这个弱智错误名列榜首,可是当之无愧,从菜鸟到高手,能有几人逃得过?

? ??错误描述:一会儿用 id、pid;一会儿又是 Id、pId。当然要乱套了。

? ??避免办法:养成良好的命名习惯很重要。看着文档做功课时要仔细。


? ??No.2 ?输入错误

? ? 其实这个错误和大小写不一致类似。

? ??错误描述:输入变量时左右手指出现了节奏时差,变量名中某两个字母站错了位置,本来应该输入 function 结果一不小心输入了 fucntion,如果不仔细看怎么看怎么对。另外多个字母少个字母的情况也时有发生。

? ??避免办法:敲代码时要尽量集中精神,避免三心二意。检查错误时可以把正常的代码和错误部分的代码粘贴到一起,对比查看,往往很容易能够发现这种错误。(推荐多玩玩儿“找不同”,也会不同程度的提升纠错能力)


?

? ??避免办法:建议对于非 boolean 对象的在判定时采用 !! 进行标准的 boolean 转换,同时要记住 js 中对于 0 这个特殊情况的判定,再结合你的需求编写正确的判定表达式。


? ??No.7 ?JSON 对象的理解

? ? 有的初学者对于 server 端的对象能够争取理解,但是放到 js 中时往往开始变得糊涂了。

? ??错误描述:错误的认为只要 {}里面的内容相同,那么这两个对象就是一样的。

? ? 举例:认为 var a = {"id":1}; var b = {"id":1} 那么 a == b (正确答案: a != b)

? ??避免办法:需要正确理解 JSON 对象的定义。 每次 {} 就相当于生成一个新的 JSON 对象。


? ??No.8 ?js 文件加载顺序

? ? 你是不是出现过js 文件都加载了,可是还总报 undefined 的错误呢?

? ??错误描述:由于先加载了使用某个对象的代码,后加载了定义该对象的代码,导致报错。

? ? 举例:

?

? ??避免办法:jQuery 的 $ 方法查找对象,始终都会返回一个 jQuery 对象的,不管是否存在查找的结果。检查是否有结果请利用 length 属性,比如 if(a.length>0) {alert("ok!");}



? ? 临时起草,不会很全面,以后可能也会慢慢补充进来更多弱智错误的。?

??? 转自:http://www.iteye.com/topic/1120928

读书人网 >编程

热点推荐