使用两个或更多$(document).ready ..会影响性能吗?

我正在研究一个网站项目。 该项目的负责人告诉我,保留两个或更多$(document).ready不对的。这是否会影响绩效? 我更喜欢保留多个$(document).ready因为我有很多jquery代码,这是划分代码块的好方法。

这是一个额外的函数调用,所以当然它会影响性能。

它不会以任何显着的方式影响它。 它可能甚至不会以任何可测量的方式影响它(假设典型计算机上的所有其他变量都会影响浏览器中的JS性能)。

只要您的$(document).ready处理程序不重复function,第二个处理程序的性能影响可能是不可接受的。

根据这个jsperf基准测试 – http://jsperf.com/ready-callback-function-vs-document-ready-function/6 – 运行Chrome的我的机器每秒可以分配大约325,000个文档就绪处理程序。

这是一些函数调用( ready方法,内部函数和处理程序本身),但这不会显着影响性能。

这是划分代码块的好方法。

这就是它应该被使用的原因。 不仅为了可读性和可维护性,而且处理程序将具有不同的范围,并且垃圾收集可以更有效地工作,这可以提高性能。

当然,可能有更好的方法来实现这一目标。 分区应该使用模块模式(从ready事件加载工作到解释声明的点),然后你可以在一个就绪处理程序中调用所有模块的init函数,而不是让每个模块都安装自己的处理程序。