1. Google JavaScript Style Guide http://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml 原版
http://wyz.67ge.com/google-js/javascriptguide.xml 中文
key: for-in loop 只用于 object/map/hash 的遍历,对 Array 用 for-in 循环有时会出错. 因为它并不是从 0 到 length - 1 进行遍历, 而是所有出现在对象及其原型链的键值.
2. JavaScript性能分析
循环遍历 : http://www.cnblogs.com/Miser/archive/2012/04/04/2432505.html
Javascript定义了4种循环,分别是for,while,do-while及for-in。前三种循环的性能相差不大,但是for-in循环性能非常差,它在每次循环执行时,需要遍历对象中的所有属性包括从原型链继承而来的..
但是遍历一个对象(而非一个简单的数组)中的属性时,for-in是一个很好的帮手。
3. JS技巧不要用for-in语句对数组进行遍历: http://www.jb51.net/article/25036.htm
for var语句对数组对象进行遍历潜在的bug在于:如果原生Array类被其它脚本库进行了原型扩展(比如多加了一个toJSON方法), 那么用for-in遍历扩展后的Array对象的逻辑将与遍历原生的Array对象的逻辑发生差异。
其中prototype.js就给Array扩展了很多方法。 => 解论: 遍历数组对象时尽量使用for in
4. JS书写规范: http://wyz.67ge.com/google-js/javascriptguide.xml,
http://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml
变量: 声明变量必须加上var关键字。当你没写var,变量就会暴露在全局上下文中,这样就很可能会和现有变量冲突。另外如果没有加,很难明确该变量的作用域是什么,变量也很有可能像在
全局作用域中很容易地泄露到Document或者Window中,所以务必用var去声明变量。
常量: 变量的形式如:NAMES