编写可维护的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()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值