标签:web前端 javascript 性能 优化
27、小心if隐藏的BUG
(1)if(a = 1){...}
把比较运算符错写为赋值运算符。
为了防止出现这样低级令人讨厌的错误,建议在条件表达式的比较运算中,把常量写在左侧,把变量写在右侧。这样在你写错的时候,会报错。
if( 1 == a){ ... }
(2)在if之后添加了分号(;)
if(a==1);{
...
}
28、使用查表法提高条件检测的性能
当有大量离散值需要测试时,使用if和switch都比使用查表法要慢得多。
比如:
switch(value): case 0 : return result0; case 1 : return result1; case 2 : return result2; case 3 : return result3; case 4 : return result4; case 5 : return result5; case 6 : return result6; case 7 : return result7; case 8 : return result8; case 9 : return result9; default : return result10; }
var results = [result0,result1,result2,result3,result4,result5,result6,result7,result8,result9,result10]; return results[value];
try{
recurse();
}catch(ex){
alert('error info');
}function r(){
r();
}
r();function a(){
b();
}
function b(){
a();
}function menfactorial(n){
if(!memfactorial.cache){
memfactorial.cache = {
'0':1,
'1':1
};
}
if(!menfactorial.cache.hasOwnProperty(n)){
memfactorial.cache[n] = n*memfactorial(n-1);
}
return memfactorial.cache[n];
}【笔记】改善javascript程序的188个建议27-33
标签:web前端 javascript 性能 优化
原文地址:http://blog.csdn.net/wuweitiandian/article/details/45074439