Ada*_*dam 8 javascript performance internet-explorer
我知道,例如,当Chrome下载Javascript文件时,它会被解释并进行JIT.
我的问题是,当IE6,7,8首先下载一个Javascript文件时,整个事情是解析和解释的吗?
我的理解是,只有顶级函数签名和在全局范围内执行的任何内容都在加载时进行了解析.然后在执行时解析函数体和其余部分.
如果它们在加载时被完全解析,您认为延迟下载和解析函数体的时间节省了多少?
它们在加载时完全解析.(当然,IE必须解析脚本以了解每个函数体的结束位置.)在开源实现中,每个函数都被编译为字节码,甚至同时编译为机器代码,我想IE的工作方式是一样的.
如果你的页面实际加载速度太慢,你可以推迟加载你可能不会使用的100K脚本,这可能有助于你的加载时间.或者不 - 请参阅下面的更新.
(Trivia:像Sunspider这样的JS基准测试通常不会测量解析和编译代码所需的时间.)
更新 - 自从我发布这个答案后,情况发生了变化!实现仍会在加载时解析每个脚本,至少足以检测标准所要求的任何语法错误.但是他们有时会推迟编译函数,直到它们被调用为止.
| 归档时间: |
|
| 查看次数: |
1602 次 |
| 最近记录: |