只要加一行,让 IE 五倍速执行 JavaScript

简介:
< DOCTYPE html PUBLIC -WCDTD XHTML StrictEN httpwwwworgTRxhtmlDTDxhtml-strictdtd>
加入_d=document;eval_r('var document=_d')

解说

因为 document 是 window 的子对象,对 IE 来说,要使用 document ,必须经过 window ,而上面的方法是让 document 成为一个独立的对象,不必透过 window ,因此速度就提升了。

eval_r((function(props) {
var code = [];
for (var i = 0, l = props.length;i<l;i++){
var prop = props[i];
window['_'+prop]=window[prop];
code.push(prop+'=_'+prop)
}
return 'var '+code.join(',');
})('document self top parent alert setInterval

clearInterval setTimeout clearTimeout'.split(' ')));

但当然也只有使用到这些对象的时候效能会有所提升,如果你的程序中用到这些对象的部份不多,便不会有这么大的效果。

后记

根据这个原理,我想 Super_Long_Really_Annoying_Enormous_Class_Names(); 应该也会比 Super.Long.Really.Annoying.Enormous.Class.Names(); 更快吧! JavaScript 时要注意不要建立太多子对象……

本文转自 netcorner 博客园博客,原文链接: http://www.cnblogs.com/netcorner/archive/2007/12/20/2912241.html ,如需转载请自行联系原作者

相关文章
|
Web App开发 JavaScript 前端开发
添加浮动按钮点击滚动到网页底部的纯JavaScript演示代码 IE9、11,Maxthon 1.6.7,Firefox30、31,360极速浏览器7.5.3.308下测试正常
添加浮动按钮点击滚动到网页底部的纯JavaScript演示代码 IE9、11,Maxthon 1.6.7,Firefox30、31,360极速浏览器7.5.3.308下测试正常
|
Web App开发 JavaScript 前端开发
JavaScript在IE和标准浏览器下的兼容性处理
JavaScript在IE和标准浏览器下的兼容性处理
498 0
|
移动开发 前端开发 HTML5
web页面实现全背景视频功能方案:使用bideo.js来处理object-fit在ie浏览器下不兼容问题
web页面实现全背景视频功能方案:使用bideo.js来处理object-fit在ie浏览器下不兼容问题
459 0
web页面实现全背景视频功能方案:使用bideo.js来处理object-fit在ie浏览器下不兼容问题
|
Web App开发 JavaScript
JS 获取当前浏览器类型(IE、Chrome、Edge、Firefox、Opera、UC、QQ)
JS 获取当前浏览器类型(IE、Chrome、Edge、Firefox、Opera、UC、QQ)
1778 0
|
JavaScript 前端开发
js执行机制(同步,异步)
js执行机制(同步,异步)
js执行机制(同步,异步)
|
前端开发 算法 JavaScript
LeetCode仅执行一次字符串交换能否使两个字符串相等使用JavaScript解题|前端学算法
LeetCode仅执行一次字符串交换能否使两个字符串相等使用JavaScript解题|前端学算法
267 0
LeetCode仅执行一次字符串交换能否使两个字符串相等使用JavaScript解题|前端学算法
|
JavaScript 前端开发 测试技术
|
JavaScript 前端开发 UED
关于js暂停执行的方法
关于js暂停执行的方法
1121 0
关于js暂停执行的方法
|
JavaScript 前端开发 程序员
深入理解JS执行机制
深入理解JS执行机制
深入理解JS执行机制
|
Web App开发 移动开发 JavaScript
JavaScript执行机制
JavaScript执行机制
212 0