最佳实践
编写可维护代码(直观性/可理解性/可适应性/可扩展性/可调试性)
- 代码约定
- 注释(增加可读性)
- 有意义的函数名/变量名
- 变量名应为名词
- 函数名应该以动词开头 如get… ,返回值为布尔 is…
- 避免无用变量名
- 变量类型透明(初始化指定变量类型)
- 松散耦合
- html/JavaScript 解耦(通过外部引入)
- css/JavaScript 解耦(通过修改类名 来操作样式)
- 应用逻辑/事件处理程序 解耦(将应用逻辑抽离成方法)
- 编程实践
- 避免全局变量
- 使用常量
- 重复值
- 用户界面字符串
- urls
- 任何可能会更改的值
性能
- 避免全局查找(使用全局变量和函数肯定比局部开销更大,因为要去作用域链上进行查找)
- 避免使用with(with会创建自己的作用域,主要用于消除额外字符串,可以使用局部变量达到效果)
- 最小化语句数量
- 优化Dom交互
- innerHTML
- 事件代理
- 选择正确的方法
- 避免双重解释代码
- switch语句比if-else 快
- 位运算符比较快
- 原生方法比较快
- 避免不必要的属性查找
一旦多次用到对象属性,应该将其存储在局部变量中, 第一次访问该值 会是O(n), 后续访问都会是O(1)
//有6次属性查找 var query = window.location.href.substring(window.location.href.indexOf(