标签: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