1)使用 Object/Array 直接量
代码例下:
- varmyObject = {
- name: "pwstrick",
- age: 29
- };
- varmyArr = ["pwstrick", 29];
2)避免重复工作
也就是惰性模式。减少每次代码执行时的重复性分支判断,通过对对象重定义来屏蔽原对象中的分支判断。
惰性模式分为两种:第一种文件加载后立即执行对象方法来重定义,第二种是当第一次使用方法对象时来重定义。可参考在线 demo 代码。
在文章《JavaScript 设计模式》中有更多的设计模式介绍。
3)位运算
1. 用位运算取代纯数学操作,比如对 2 取模
可以判断偶数与奇数。
- digit%2
2. 位掩码技术,使用单个数字的每一位来判断选项是否成立。掩码中每个选项的值都是 2 的幂。例如:
- var OPTION_A = 1,
- OPTION_B = 2,
- OPTION_C = 4,
- OPTION_D = 8,
- OPTION_E = 16;
- //用按位或运算创建一个数字来包含多个设置选项
- var options = OPTION_A | OPTION_C | OPTION_D;
- //接下来可以用按位与操作来判断给定的选项是否可用
- //选项A是否在列表中
- if (options & OPTION_A) {
- //...
- }
3. 用按位左移(<<)做乘法,用按位右移做除法(>>),例如
可以替换成
- digit*2
。
- digit<<2
4)原生方法
无论你的代码如何优化,都比不上 JavaScript 引擎提供的原生方法快。
1. 数学运算用内置的 Math 对象中提供的方法。
2. 用原生的 CSS 选择器查找 DOM 节点,querySelector 或 querySelectorAll。
参考资料:
高性能 JavaScript
利用 jsPerf 优化 web 应用的性能
高性能 JavaScript DOM 编程
读《高性能 javascript》笔记(一)
高性能 JavaScript 重排与重绘
来源: http://www.cnblogs.com/strick/p/6769634.html