《编写可维护的javascript》笔记

来源:互联网 发布:硕鼠mac版下载 编辑:IT博客网 时间:2019/10/18 01:53

======================编码风格=============================
1.缩进:用tab比较好,或者固定的四个空格或者两个空格

2.变量太长换行最好第二行和等号后赋值开始的地方对齐

3.命名:驼峰法,函数名最好开头用动词(can is has get set等)

4.常量:大写,下划线

5.大段注释用多行/**/

6.if后面就算是一句,也应该用花括号括起来比较好

7。花括号最好在上一行代码的末尾
eg:
推荐:if{
}
不推荐:
if
{
}

8.注意变量声明和函数声明会提前

9.立即执行函数注意将函数用一对圆括号包起来
eg: var value = (function(){
//函数体
}());//用圆括号将函数题包起来 一看就知道是匿名函数
不推荐var value = function(){
//函数体
}();

10.注意双等号和三等号 双等号会强制类型转换以后再比较

11.eval要谨慎使用

12.原始包装类型让原始值具有对象般的行为,但是要注意,不可以 var name = new String(“weixiao”);
这样会增加出BUG几率,思路在原始值和对象之间跳来跳去

============================编程实践=======================
1.css html javascript之间松耦合
尽量不要在css中插入js,不推荐 .box{width:expression(document.body.offsetWidth + “px”)}
尽量不要在js中定义样式 不推荐element.style.color = “red”;
js从html中抽离,不推荐< button onclick = “dosomething(){……}”>< /button>
html从js中抽离,不推荐div.innerHTML = (……);

2.避免使用全局变量,全局变量的坏处有:容易命名冲突,可维护性差,难以测试

3.避免和null比较,js中不为null的太多了,容易造成错误

4.typeof是一个运算符
if(typeof name ==”wei”)比if(typeof(name) == “wei”)更好
typeof 不能检测null,可以检测function

5.instanceof 检测对象的类型

6.检测数组 isArray

7.检测属性
用in或者hasOwnProperty
if(“age” in person){……}
if(person.hasOwnProperty(“age”)){……}

8.抛出自定义错误,最好使用Error对象

9.不要动不是自己的对象
比如BOM document object array function 等

10.锁定对象 防止被修改
比如用preventExtension

======================自动化===========================

0 0