高效能JavaScript學習筆記(5)--程式設計實踐
阿新 • • 發佈:2019-01-03
1、eval()效率很低,因為每次呼叫都要建立一個新的直譯器/編譯器例項。
2、setTimeout()和setInterval()建議傳入函式而不是字串來作為第一引數。
例如:
setTimeout(function(){
sum = sum1 + sum2
})
3、“避免無謂的工作”
4、懶載入、預載入
5、位運算效能優勢明顯。
例如下面的按位與比上面快百分50%:
for(var i=0, len=rows.length; i++){
if(i % 2) {
className = "even"
} else {
className = "odd"
}
} for(var i=0, len=rows.length; i++){
if(i & 2) {
className = "even"
} else {
className = "odd"
}
}
6、儘量使用原生方法,例如(Math等)
2、setTimeout()和setInterval()建議傳入函式而不是字串來作為第一引數。
例如:
setTimeout(function(){
sum = sum1 + sum2
})
3、“避免無謂的工作”
4、懶載入、預載入
5、位運算效能優勢明顯。
例如下面的按位與比上面快百分50%:
for(var i=0, len=rows.length; i++){
if(i % 2) {
className = "even"
} else {
className = "odd"
}
} for(var i=0, len=rows.length; i++){
if(i & 2) {
className = "even"
} else {
className = "odd"
}
}
6、儘量使用原生方法,例如(Math等)