3.1 变量编码规范
原则:在遵循命名规则之上,应遵守以下规则,
(1)申明多个变量,变量之间使用逗号分隔;同时建议逗号与变量之间添加一个空格,避免过于拥挤,或是换行申明(此时可以对某个变量添加注释!),
实例一:
var name = ‘’, value = ‘’, title = ‘’;
实例二:
var name = ‘’,
value = ‘’, // 注释
title = ‘’;
(2)变量申明时,应明确变量的类型,可以立即赋值,尽量避免变量的类型在使用过程中被转换;
(3)尽量避免魔数(Magicnumbers),他们应该使用常量来代替;
(4)声明变量必须加上 var 关键字,否则将成为全局变量(Document或者 Window),进而成为污染全局的变量;
3.2 函数编码规范
原则:
(1) 所有的函数在使用前进行声明,内函数的声明跟在var 语句的后面;
(2) 不要在语句块(if…else等)内声明一个函数;
其编码风格应该遵循这几点建议:
1) 建议一:函数名与参数()之间不要留有空格;
2) 建议二:参数列表之间使用逗号分隔,逗号与参数之间留有一个空格;
3) 建议三:使用右侧简约模式,)与{之间留一个空格;
4) 建议四:避免参数过多现象,一般不超5个,过多使用对象传入;
5) 建议五:匿名函数不应该换行,如:$(‘#id’).bind(function(){…});中参数为匿名函数不应该换行处理,函数的主体遵循前面建议与原则;
function outer(c,d)
{undefined
var e = c * d;
function inner(a, b)
{undefined
return (e * a) + b;
}
return inner(0, 1);
}
// 简约模式
function outer(c,d) {undefined
var e = c * d;
function inner(a, b) {undefined
return (e * a) + b;
}
return inner(0, 1);
}
在函数体中,我们应遵循以下建议:
1)建议一:避免提供多个出口;
//不要使用这种方式,当处理程序段很长时将很难找到出口点
if (condition) {undefined
return A;
} else {undefined
return B;
}
//建议使用如下方式
var result = null;
if (condition) {undefined
result = A;
} else {undefined
result = B;
}
return result;
2)建议二:函数体中代码不应过长,一般不要超过100行;
3.3表达式与语句
原则:表达式和语句应清晰、简洁,易于阅读和理解,避免使用晦涩难懂的语句。使用圆括号明确表达式执行优先级。
3.3.1控制语句
1)建议一:判断中如有常量,则应将常量置与判断式的右侧。如:
if ( true == isAdmin())...
if ( null == user)...
2)建议二:boolean类型判断语句尽量明确条件比较值true/false
//不建议使用
if (isCond)...
if (!isCond)...
//尽量使用
if (true == isCond)…
if (false == isCond)…
if (true != isCond)…
编码风格应遵循以下建议:
(1) 建议一:if…else if…else语句必须使用{}将每个判断条件后的执行语句括起来。