1. 避免双重求值
JS中有四个函数可以直接执行js字符串
var num1 = 5,
num2 = 6,
// eval() 执行代码字符串
result = eval("num1 + num2"),
//Function() 执行代码字符串
sum = new Function("arg1","arg2","return arg1 + arg2"),
//setTimeout() 执行代码字符串
setTimeout("sum = num1 + num2", 100);
//setInterval() 执行代码字符串
setInterval("sum = num1 + num2", 100);
以上代码会导致双重求值,造成性能上的损失。
所以,请不要使用eval()和Function(),对于setTimeout和setInterval,建议传入函数,而不是字符串。
2. 避免重复工作
(1) 延迟加载
(2) 条件预加载
3. 使用速度快的部分
(1) 位操作
(2) 原生方法(Math)