Javascript性能:多个脚本块与单个更大的块
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Javascript性能:多个脚本块与单个更大的块,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1032字,纯文字阅读大概需要2分钟。
内容图文
![Javascript性能:多个脚本块与单个更大的块](/upload/InfoBanner/zyjiaocheng/769/7c0cc782259344bf9f88caa6068e3fd5.jpg)
我在IE8上观察到一种奇怪的行为(在FF 3.5上没有看到).
我创建了2个示例网页,其中只包含一些JS.
Page1:3 JS块(标签)中包含非常小的内联JS.
第2页:与上面相同的JS,但所有3个脚本组合在一个块中.
我使用dynatrace打开页面并观察到对于page1,每个脚本花了大约27-30ms的时间进行解析/执行.总时间约为80毫秒.
对于Page2,组合的JS需要大约30ms.
有人可以解释一下这背后的原因吗?将较小的JS组合成一个是否更好?
PS:对于所有脚本,dynatrace添加的仪器时间可以忽略不计.
Firefox 3.5没有显示此行为.对于每个较小的JS块,FF的执行时间约为1ms,组合JS的执行时间约为3ms.
解决方法:
当浏览器遇到脚本块时,它必须在执行该块中的脚本时暂停呈现页面.
我不确定为什么这对IE8而言会如此强烈.可能是因为上下文切换在IE8中特别昂贵,或者FF可以在幕后做一些工作来组合你的块,如果它确定它可以(我只是在这里猜测)
脚本块也阻止并行下载.如果您从多个主机名下载图像,则可以并行执行,除非您正在执行脚本块.
一般来说,我会说最好的做法是组合你的脚本块.就个人而言,我建议你将它们移到一个单独的文件中.
顺便提一下,当您将指标移动到另一个文件时,指标会发生什么?
请参阅Yahoo Developer上的Best Practices for Speeding Up Your Web Site.
内容总结
以上是互联网集市为您收集整理的Javascript性能:多个脚本块与单个更大的块全部内容,希望文章能够帮你解决Javascript性能:多个脚本块与单个更大的块所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。