众所周知,与 Chrome、Safari (Webkit) 或 Firefox (Mozilla) 相比,Internet Explorer Javascript 引擎在性能方面远远落后,尤其是 IE 8 及更早版本。
在开发具有重要 javascript 功能的 Web 应用程序时,IE 的性能比其他的要差得多。
是否有任何实践可以帮助改进您的 javascript 代码,从而使优秀表现者(非 IE)和表现不佳者(IE)之间的差距不那么大?
最佳答案
另外几个常见的解决方案:
缓存经常使用的 DOM 节点,不要在同一个函数中再次重新计算它们。例如。而不是
$(id).parentNode.something();
$(id).parentNode.somethingOther();
使用
var e = $(id).parentNode;
e.something();
e.somethingOther();
从外部范围缓存常用对象。例如。而不是
if (this.options.type == 'a') {
// ...
} else if (this.options.type == 'b') {
// ...
}
使用
var type = this.options.type;
if (type == 'a') {
// ...
} else if (type == 'b') {
// ...
}
这也会对缩小前后的代码大小产生积极影响。
关于针对 Internet Explorer 的 Javascript 优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8845877/