编程风格
基本的格式化
1.当一行的长度达到了单行最大字符数限制时,需要将一行拆为两行,第二行要有两个层级的缩进
2.null的使用
应用场景:
(1) 用来初始化一个变量,这个变量可能赋值为一个对象
(2) 用来和一个已经初始化的变量比较,这个变量可以是也可以不是一个对象
(3) 当函数的参数期望是对象时,用作参数传入
(4) 当函数的返回值期望是对象时,用作返回值传出
不应应用场景:
(1) 不要使用null来检测是否传入某个参数
function doSomething(arg1, arg2) {
if(arg2 != null) {
doElse();
}
}
(2) 不要用null来检测一个未初始化的变量
var person;
if (person != null) {
doSomethins();
}
3.for-in循环中最好使用hasOwnProperty()过滤出实例属性,如果想要查找原型链,则应该加上相应的注释
4.建议总是将局部变量定义为函数内的第一条语句。并且将所有的var语句合并为一个语句,每个变量的初始化独占一行。赋值运算符应当对齐。对于那些没有初始值的变量来说,它们应该出现在var语句的尾部。
var value = 10,
result = value + 10,
i,
len;
5.为了让立即执行的函数能够被一眼看出来,可以将函数用一对圆括号包裹起来。
var value = (function() {
//body
return {
message: "hi"
}
}());
6.通过引用"use strict"使脚本以严格模式执行
不推荐将"use strict"用在全局作用域中,因为这会让文件中的所有代码都以严格模式来解析。
// 不好的写法-全局的严格模式
"use strict";
function doSomething() {
//code
}
//好的写法
function doSomething() {
"use strict";
// code
}
7.JQuery核心风格指南规定,只有涉及到回调中解析JSON的情形下才可以使用eval()。Google的JavaScript风格指南只允许在将Ajax的返回值转换为JavaScript值得情形下使用eval()