作为一种解释性语言,JavaScript不能像C++等语言那样从编译优化中获益。尽管现代浏览器已经大大提升了JavaScript的效率,还是有很多空间来提高JavaScript应用的执行效率。


这需要程序员去决定使用什么算法,优化哪段代码,如何以高效的方式操作DOM。目前还没有一个健壮的优化工具可以为你完成这件事。


除非代码实在太烂,否则一般情况下简单的JavaScript应用(如仅处理少量鼠标单击或进行零散AJAX调用)是没必要进行代码优化的。而某些涉及图形表现的应用,则需要高效的代码才能保证用户体验——好的动画不应该慢或抖动。


具体来说,适用于JavaScript图形编程的优化技术,将不讨论如何提高从服务器加载页面的速度,而是考虑服务器资源加载之后的代码执行。


优化什么,何时优化?


和优化技术同等重要的是:知道什么时候不优化。过早的优化会带来晦涩的代码和bug,

优化很少执行的代码区域也没有必要。以帕莱托法则(即80-20法则)来看,20%的代码将占用80%的CPU调用。

应集中优化这20%、10%或5%,而忽略其他部分。


这样的bug会更少,大部分代码都保持了可读性,也保证了你的头难清醒。