使用hasOwnProperty方法来区分对象的 成员是明智的: for (variable in object) { if (object.hasOwnProperty()) { statements; } }
while语句 while语句应该使用如下格式: while (condition) { statements; }
do语句 do语句应该使用如下格式: do { statements; } while (condition);
不像其它复合语句,do语句始终使用“;”(分号)结尾。
switch语句 switch语句应该有如下格式: switch (expression) { case expression: statements; default: statements; }
每个case和switch对齐,这避免了缩进过度。
每组语句(除了default)应该以break,return或者throw结束。不要fall through。
try语句 try语句应该使用如下格式: try { statements; } catch (variable) { statements; }
try { statements; } catch (variable) { statements; } finally { statements; }
continue语句 不要使用continue语句。它会让方法的控制流程模糊。
with语句 不要使用with语句。
空格 空行通过将逻辑相关的代码放到一起来增加可读性。
空格应该用于如下情况: 1,关键字后面跟“(”(左圆括号)时应该用一个空格隔开。 while (true) {
2,方法名和方法的“(”(左圆括号)之间不要有空格。这利于区分关键字和方法调用。 3,所有的二元操作符,除了“.”(圆点)、“(”(左圆括号)和“[”(左中括号),都应该使用一个空格来和操作数隔开。 4,一元操作符和操作数之间不应该使用空格隔开,除了操作符是一个单词时,如typeof。 5,for语句控制部分的每个“;”(分号)应该在后面跟一个空格。 6,每个“,”(逗号)后面应该跟一个空格。
额外的建议
{}和[] 使用{}替代new Object()。使用[]替代new Array()。 当成员名字为连续的整数时使用数组。当成员名字为任意的字符串或名字时使用对象。
逗号操作符 不要使用逗号操作符,除了for语句的控制部分的严格使用。(这不适合逗号操作符,它应该用于对象字面量,数组字面量,var语句和参数 列表。)
块作用域 在JavaScript里块没有作用域,只有方法有作用域。不要使用块,除了复合语句一定需要用到外。
赋值表达式 不要在if和while语句的条件部分做赋值。不要写不易懂的代码。
===和!==操作符 始终使用===和!==操作符会更好。==和!=操作符会做类型强制转换。特别是,不要使用==来和“假”值做比较。
令人混淆的加和减 注意不要在“+”后面跟&ldq |