jQuery - 是否多次使用 $(document).ready(function() {}) 会有影响?

45

在您的页面上有多个$(document).ready(function() {});是否有害?我有一个网站,在不同的时间加载不同的内容。我在$(document).ready()中启动这些部分回发函数,但同时在页面上有4或5个。这是一种不良做法吗?具体来说,它会导致任何性能问题吗?

5个回答

33

11

4
你根据自己的观点得出结论。答案是,使用它会有性能损耗(所有东西都有性能损耗),应该考虑这种损耗与它带来的好处之间的平衡。即使在IE8中,要通过20K次.ready调用来使我的页面变慢1秒钟。我实际使用的50-100次.ready调用会导致IE浏览器增加约0.0025秒或Chrome浏览器增加约0.000125秒。 - umassthrower

4

你可以拥有任意数量的函数。一个更加简洁优雅的方法是$(function(){})


1
如果它们在同一页上,我个人会把它们放在同一个位置,这样你就不会因为忘记其中一个加载项而被卡住。
虽然我怀疑性能影响并不那么显著。你有尝试过将它们全部放在一起和分开后对页面进行基准测试吗?

-1
如果其中任何一个抛出异常,都会阻止其余的运行。这可能很难在多个源文件(特别是第三方库)中调试代码。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接