可维护性
- 可理解
- 直观性
- 可适应
- 可扩展
- 可调式
代码约定
- 函数和方法:注释,参数代表啥,是否有返回值
- 复杂算法: 注释思路
- 变量和函数名:函数名动词开始,布尔类型的is开头
- 变量类型透明: 初始化指定的类型
- 松散耦合: HTML是数据,JavaScript是行为,应该避免在JavaScript中创建HTML代码
- 尊重对象所有权:不能修改不属于你的对象,如果这个对象不是你创建或者维护的,你就不能对他进行修改
- 避免全局量,用一个对象包含所有的全局量
- 避免和null进行比较,JavaScript不做任何自动的类型检查,一般会因为不充分的类型检查导致错误
if(v instanceOf Array){ v.sort();}
避免全局查找
将document对象存储在本地变量中,然后接下来的全部调用本地变量,这样函数只用了一次全局查找,肯定快
一旦多次用到对象属性,应该将其存储在局部变量中,第一次访问O(n),后面的访问均为O(1),就会节省很多
优化循环
- 从循环不断减值更高效
- 简化初始条件
- 最小化声明 var count =0; a =1;b =2;
- 使用数组和对象字面量
- innerHTML
最后直接赋值字符串,不要写道循环中
- 事件代理
- 文件压缩