浏览器大全:是一个提供流行浏览器教程、在线学习分享的学习平台!
| ||||||||||||||||||||||||||||||||||
{},
doc: document,
但是如果你没有引入类库,如果让IE的javascript跑得更快些呢?用一个变量把它储存起来?在一个国外的博客看到一种很厉害的劫持技术,偷龙转凤把全局变量document变成一个局部变量。 /*@cc_on _d=document;eval('var document=_d')@*/ <!doctype html> <script type="text/javascript"> var date = new Date; alert(new Date - date); </script> </head> 运用提速技术后: <!doctype html> <script type="text/javascript"> var date = new Date; alert(new Date - date); </script> </head> 经测试,用了提速技术后,IE的性能比较
我们看一下实现原理: document; doc; //很明显,调用这个比直接document快,document还要钻进window内部找一番 如何劫持它呢? var doc = document; var document = doc; 这样明显不行因为在预编译阶段,var变量会提前,上面代码相当于 var doc var document //这里被劫持了 doc = document //注意,document已经变成undefined document = doc //相当于window.undefined = undefined 没有办法,只好在执行期才定义这个document变量,javascript的动态解析技术派上用场了,eval就是其代表之一。 var doc = document; eval('var document = doc'); 为了让IE专用,用了IE特有的条件编译。 /*@cc_on var doc = document; eval('var document = doc'); @*/ 嘛,window的东西其实蛮多,我们一一把它们变成本地变量又如何? /*@cc_on eval((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 event body location title self top parent alert setInterval clearInterval setTimeout clearTimeout'.split(' '))); @*/ 我们可以再扩展一下,让其更多全局变量或全局方法局部化。不过经验测,FF使用它会报错,chrome则慢了,其他浏览器不明显。 if( !+"v1" ){ var code = [],ri = 0,prop,str = "var " for(var a in window) code[ri++] = a; for (var i = 0 ,n = code.length;i<n;i++){ var prop = code[i] window['_'+prop] = window[prop]; str += prop+'=_'+prop+"," } str = str.slice(0,-1); eval(str) } <!doctype html> <script type="text/javascript"> if( !__chrome & !__firefox ){ var code = [],ri = 0,prop,str = "var " alert(new Date - date); </script> </head> 文章来源:http://www.cnblogs.com/rubylouvre/archive/2010/02/11/1667628.html 虽然IE8的发布并没有给我们带来多大的惊喜,但根据微软所公布了IE9的各种评测效能信息,惊奇的发现,IE9在而针对Javascript引擎性能的SunSpider测试中,IE9大幅超越了IE7与IE8,并与Chrome、Safari及Firefox浏览器的Javascript运行基本处于同一等级。希望微软以后不要在重蹈IE8的覆辙,毕竟微软现在出新浏览器的动作是越来越勤奋了,记得当前IE6了,不知用了多少年,才听说有了IE7了,到现在IE8才超越IE6成为全球最流行的浏览器版本,我们期盼微软IE9浏览器能够让竞争对手刮目相看。 许多人使用搜索引擎,都习惯于进入其网站后再输入关键词搜索,这样却大大降低了搜索的效率。实际上,IE支持直接从地址栏中进行快速高效地搜索,也支持通过“转到/搜索”或“编辑/查找”菜单进行搜索,您只须键入一些简单的文字或在其前面加上“go”、“find”或“?”,IE就可直接从缺省设置的9个搜索引擎中查找关键词并自动找到与您要搜索的内容最匹配的结果,同时还可列出其它类似的站点供你选择。 | 推荐资讯 总人气榜最新教程 本月人气
| |||||||||||||||||||||||||||||||||
相关文章相关软件2345加速浏览器官方版2345加速浏览器官方版 | 56.2MB QQ浏览器官方正式版QQ浏览器官方正式版 | 49.67MB 百度浏览器最新版下载百度浏览器最新版下载 | 13.3MB UC浏览器官方正式版UC浏览器官方正式版 | 44.2MB 猎豹浏览器2022最新版下载猎豹浏览器2022下载 | 45MB 360安全浏览器官方版下载360安全浏览器下载 | 21.4MB | ![]() |