0.分号
总是使用分号,因为隐式的代码嵌套会引发难以察觉的问题。当然我们更要从根本上来杜绝这些问题(指的是采用严格规范的语句写法,从根本上杜绝由分号缺失而引起的代码歧义。)。
JavaScript 中语句要以分号结束,否则它将会继续执行下去,要知道闭合圆括号并不代表语句结束,JavaScript 不会终结语句,除非它的下一个 token 是一个中缀符(中缀符,指的是像 x + y 中的 +) 或者是圆括号操作符。
分号与函数
分号需要用在表达式的结尾,而并非函数声明的结尾。区分它们最好的例子是:
//函数表达式
var foo = function() {
return true;
}; // semicolon here.
//函数声明
function foo() {
return true;
} // no semicolon here.
语句块内的函数声明
切勿在语句块内声明函数,在 ECMAScript 5 的严格模式下,这是不合法的。函数声明应该在定义域的顶层。但在语句块内可将函数申明转化为函数表达式赋值给变量。
//不推荐
if (x) {
function foo() {}
}
//推荐
js 代码:
if (x) {
var foo = function() {};
}
1.空格的使用
任何“;”后空一格、for循环中初始化“,”后空一格、数组中","后空一格、对象中“:”后空一格、不要写var,如:
for (var i = 0, j = 1; i < 10; i += 1){
var some = [1, 2, 3];
var obj = {aa: 1, bb: 2}
}
函数参数里“,”后空一格、函数声明中花括号前空一格、函数表达式中括号前后各空一格,如:
1 func(a, b, c){};
2 function func() {};
3 var func = function () {};
所有的操作符前后都跟一个空格,如:
复制代码
var d = 0,
a = b + 1;
if (a && b && c) {
d = a % c;
a += d;
}
if中的空格
//正确的写法
if (isOk) {
console.log("ok");
}
()中的判断条件前后都(必须)加空格 ()里的判断前后(禁止)加空格,如:正确的写法: if (isOk);不推荐的写法: if ( isOk )
var 中空格及定义
// 一个推荐的var写法组
function(res) {
var code = 1 + 1,
json = JSON.parse(res),
type, html;
// code
}
声明变量 = 前后(必须)添加空格
每个变量的赋值声明以,结束后(必须)换行进行下一个变量赋值声明
(推荐)将所有不需要进行赋值的变量声明放置最后一行,且变量之间不需要换行
(推荐)当一组变量声明完成后,空一行后编写其余代码