======================编码风格=============================
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
======================自动化===========================