必须与 new共同使用的构造函数名应以大写字母开头。当new被省略时JavaScript不会有任何编译错误或运行错误抛出。忘记加 new时会让不好的事情发生(比如被当成一般的函数),所以大写构造函数名是我们来尽量避免这种情况发生的唯一办法。
全局变量应该全部大写。(JavaScript没有宏或者常量,所以不会因此造成误会)
语句 简单语句每一行最多只包含一条语句。把;(分号)放到每条简单语句的结尾处。注意一个函数赋值或对象赋值语句也是赋值语句,应该以分号结尾。
JavaScript可以把任何表达式当作一条语句。这很容易隐藏一些错误,特别是误加分号的错误。只有在赋值和调用时,表达式才应被当作一条单独的语句。
复合语句复合语句是被包含在{ }(大括号)的语句序列。
* 被括起的语句必须多缩进四个空格。 * {(左大括号)应在复合语句其实行的结尾处。 * }(右大括号)应与{(左大括号)的那一行的开头对齐 * 大括号应该在所有复合语句中使用,即使只有一条语句,当它们是控制结构的一部分时, 比如一个if或者for语句。这样做可以避免以后添加语句时造成的错误。 标示语句标示是可选的,只有以下语句必须被标示:while, do,for,switch。
return 语句一条有返回值的return语句不要使用( )(括号)来括住返回值。如果返回表达式,则表达式应与return 关键字在同一行,以避免误加分号错误。
if 语句if语句应如以下格式:
if (condition){ statements; } if (condition) { statements; } else { statements; } if (condition) { statements; } else if (condition) { statements; } else { statements; } for 语句for语句应如以下格式:
for (initialization;condition ; update) { statements; } for (variable in object)if (filter) { statements; }第一种形式的循环用于已经知道相关参数的数组循环。
第二种形式应用于对象中。object原型中的成员将会被包含在迭代器中。通过预先定义hasOwnProperty方法来区分真正的 object成员是个不错方法:
for (variablein object) if (object.hasOwnProperty(variable )){ statements; } while 语句while语句应如以下格式:
while (condition){ statements; } do 语句do语句应如以下格式:
do { statements; } while (condition);不像别的复合语句,do语句总是以;(分号)结尾。
switch 语句switch语句应如以下格式:
switch (expression){ case expression: statements; default: statements; }每个 case与switch对齐。这可避免过分缩进。
每一组statements(除了default应以 break,return,或者throw结尾。不要让它顺次往下执行。
try 语句try语句应如以下格式:
try { statements; } catch (variable){ statements; } try { statements; } catch (variable){ statements; } finally { statements; } continue 语句避免使用continue语句。它很容易使得程序的逻辑过程晦涩难懂。
with 语句不要使用with语句。
空白用空行来将逻辑相关的代码块分割开可以提高程序的可读性。
空格应在以下情况时使用:
* 跟在((左括号)后面的关键字应被一个空格隔开。while (true) { * 函数参数与((左括号)之间不应该有空格。这能帮助区分关键字和函数调用。 * 所有的二元操作符,除了.(点) 和((左括号)和 [(左方括号)应用空格将其与操作数隔开。 * 一元操作符与其操作数之间不应有空格,除非操作符是个单词,比如typeof。 * 每个在控制部分,比如for 语句中的; (分号)后须跟一个空格。 * 每个,(逗号)后应跟一个空格。 另外的建议 {} 和[]使用{}代替new Object()。使用[]代替new Array()。
当成员名是一组有序的数字时使用数组来保存数据。当成员名是无规律的字符串或其他时使用对象来保存数据。
,(逗号)操作符避免使用逗号操作符,除非在特定的for 语句的控制部分。(这不包括那些被用在对象定义,数组定义,var语句,和参数列表中的逗号分隔符。)
作用域在JavaScript中块没有域。只有函数有域。不要使用块,除非在复合语句中。
赋值表达式避免在if和while语句的条件部分进行赋值。
if (a = b) {是一条正确语句?或者
if (a == b) {才是对的?避免这种不容易判断对错的结构。
===和!==操作符。使用===和!==操作符会相对好点。==和!=操作符会进行类型强制转换。 特别是, 不要将==用于与错值比较( false,null,undefined,“”, 0,NaN)。
令人迷惑的加号和减号小心在+后紧跟+或++。这种形式很容易仍人迷惑。应插入括号以便于理解。
total = subtotal + +myInput.value;最好能写成
total = subtotal + (+myInput.value);这样+ +不会被误认为是++。
eval 是恶魔eval是JavaScript中最容易被滥用的方法。避免使用它。
eval有别名。不要使用Function构造器。不要给setTimeout或者 setInterval传递字符串参数。
您可能感兴趣的文章: