我很好地调整了一个对jquery很重视的页面,并偶然发现了这个网站:
http://www.componenthouse.com/extra/jquery-analysis.html
当我第一次点击“运行测试”按钮时,数字会高于后续点击。这是因为JS是由浏览器缓存的吗?有人可以解释这是如何内部工作的?用户可以选择不缓存JS吗?
答案 0 :(得分:3)
外部javascript文件被缓存,当然,包含脚本标签的html也可以缓存。 你看到的可能是html缓存或一些浏览器优化的结果。您应该尝试不同的浏览器,关闭并重新打开浏览器并清除浏览器的缓存。
答案 1 :(得分:1)
是否缓存JavaScript代码,不会影响执行性能。您所看到的是jQuery缓存选择器查询的结果,因此它们在后续运行中不会花费太长时间。
答案 2 :(得分:1)
在Firefox 3.5中,我第二次使用这些数字(明显)不同。 OTOH,它们在IE 8中相当一致(慢).Firefox 3.5的JavaScript解释器将JS编译为可执行代码。所以第一次慢一点是有意义的;代码尚未被JIT实现。
答案 3 :(得分:1)
您看到的性能提升可能是由于您的JavaScript解释器。大多数较新的Web浏览器都使用JIT编译的javascript引擎,因此可以优化多次采用的代码路径。
阅读this blog post,了解Safari的javascript引擎如何实现其许多加速。