1. 尽量避免使用DOM。当需要反复使用DOM时,先把对DOM的引用存到JavaScript本地变量里再使用。使用设置 innerHTML的方法来替换 document.createElement/appendChild()方法。

2. eval()有问题, new Fuction()构造函数也是,尽量避免使用它们。

3. 拒绝使用 with语句。 它会导致当你引用这个变量时去额外的搜索这样的一个命名空间,with里的代码在编译时期是完全未知的。

4. 使用 for()循环替代 for…in循 环。因为 for…in循环在开始循环之前需要Script引擎创建一个含有所有可循环属性的 List,需要多检查一次。

5. 把try-catch语句放在循环外面,不要放在循环里面,因为异常是很少发生的,放在外面避免每次都要执行 它们。

6. 对于简单的任务,最好使用基本操作方式来实现,而不是使用函数调用实现。例如 val1 < val2 ? val1 : val2;执行速度快于 Math.min(val1, val2);,类似的, myArr.push(newEle);慢于myArr[myArr.length] = newEle; 该理论同样支持php

7. 将函数的引用作为参数传递到 setTimeout()和 setInterval()里优于将函数名作为字符串参数传递(硬编码)。例如, setTimeout(“someFunc()”, 1000)执行效率慢于setTimeout(someFunc, 1000)

8. 在HTTP头信息里加入缓存控制过期和最大存活时间标记。

9. 尽量将DOM结构保持的越简单越好。DOM的体积会影响相关的操作效率,像查找, 遍历,DOM改动都有影响。 document.getElementsByTagName(‘*’).length这 个值越小越好。

10. 当你使用完对DOM的引用变量后,要把它置为NULL。

11. 使用AJAX时,GET的执行效率高于POST。所以要尽量使用 GET 方式。只是要注意一点,IE只允许你用GET传送2K的数据。

12. 小心使用脚本动画。没有硬件的支持,动画会执行的很慢。尽量避免使用那些没有实际价值的动画效果。

13. 布局时不要使用 <table>。 <table>在浏览器完全把它画出来之前需要反复绘制好几次。因为DOM中 <table>是很少见的一种之后输出的会影响之前输出的显示效果的元素。对于表格数据来说,你可以使用 table-layout:fixed; 这是一种更有效的现实算法,根据CSS 2.1技术说明,这种写法可以让表格一行一行的输出。