编写可维护的JavaScript读书笔记(1)

编程风格

基本的格式化

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()

你可能感兴趣的:(编写可维护的JavaScript读书笔记(1))