HOME
NAVIGATION

前端代码规范(4)——分号、空格

前端代码规范合集

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
}

声明变量 = 前后(必须)添加空格
每个变量的赋值声明以,结束后(必须)换行进行下一个变量赋值声明
(推荐)将所有不需要进行赋值的变量声明放置最后一行,且变量之间不需要换行
(推荐)当一组变量声明完成后,空一行后编写其余代码