Web 技术研究所

我一直坚信着,Web 将会成为未来应用程序的主流

IE对SCRIPT中的标记解析开销

  在SCRIPT标记中的其它HTML标记会被解析吗?当然,为了找到SCRIPT结束标记,里面的东西是需要解析的。但实际上只有SCRIPT结束标记需要解析,所以根本没必要处理SCRIPT结束标记以外的标记。但是在IE中其它标记也一样会被处理,因此会带来性能开销。
<script>
var t,s=new Array(1E6),s1=s.join("<a>a</a>"),s2=s.join("asdfasdf");
t=new Date;
document.write('<script>"'+s1+'";<\/script>');
console.log("标记:"+(new Date-t));
t=new Date;
document.write('<script>"'+s2+'";<\/script>');
console.log("文本:"+(new Date-t));
</script>

  这对其它浏览器没啥影响,只有IE没对这个细节做优化。这个问题来自小于号: <script>
var t,s=new Array(1E6),s1=s.join("<<<<<<<<"),s2=s.join(">>>>>>>>");
t=new Date;
document.write('<script>"'+s1+'";<\/script>');
console.log("<:"+(new Date-t));
t=new Date;
document.write('<script>"'+s2+'";<\/script>');
console.log(">:"+(new Date-t));
</script>

  这其实并也不是开发应该纠结的问题,都怪IE不做好优化,都怪微软没把精力投在IE上。为此默哀三秒钟!
网名:
54.144.24.*
电子邮箱:
仅用于接收通知
提交 悄悄的告诉你,Ctrl+Enter 可以提交哦
神奇海螺
[查看全部主题]
各类Web技术问题讨论区
发起新主题
本模块采用即时聊天邮件通知的模式
让钛合金F5成为历史吧!
次碳酸钴的技术博客,文章原创,转载请保留原文链接 ^_^