Javascript 使用两个或多个$(document).ready..是否会影响性能?

Javascript 使用两个或多个$(document).ready..是否会影响性能?,javascript,jquery,Javascript,Jquery,我正在做一个网站项目。项目负责人告诉我,保留两个或更多的$(document.ready)是不对的。这会影响性能吗?我更喜欢保留多个$(document).ready,因为我有很多jquery代码,这是划分代码块的好方法。这是一个额外的函数调用,因此当然会影响性能 这不会对它产生任何重大影响。它甚至可能不会以任何可测量的方式影响它(考虑到典型计算机上影响浏览器中JS性能的所有其他变量)。只需再调用几个函数(ready方法、其中的函数以及处理程序本身),但这不会显著影响性能 这是划分代码块的好方法

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

这是一个额外的函数调用,因此当然会影响性能


这不会对它产生任何重大影响。它甚至可能不会以任何可测量的方式影响它(考虑到典型计算机上影响浏览器中JS性能的所有其他变量)。

只需再调用几个函数(ready
方法、其中的函数以及处理程序本身),但这不会显著影响性能

这是划分代码块的好方法

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

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

只要
$(文档).ready
处理程序不复制功能,则第二个处理程序的性能影响可能无法接受


根据这个jsperf基准——我运行Chrome的机器每秒可以分配大约325000个文档就绪处理程序。

好吧,每个处理程序都有额外的工作要做,但是添加几个文档就绪处理程序不会对性能产生任何明显的影响。不,它不会影响性能。但是,我认为您可能有很多代码不一定需要在$(文档)中。准备好开始了吗。@HerlandCid您已经在这样做了,所以您已经知道答案了…对,但是唯一需要在文档中准备好的部分是启动代码的部分。您也可以将所有功能放在自包含的部分中,然后在文档中初始化这些部分。我编写了多个$(文档)。准备好了,一切都很好。$(document.ready)中的代码是另一个故事:)。既然你写了这么多jQuery代码,那么我想你已经知道了,但我只想为任何找到这个页面的Google用户声明一下。主要缺点是变量和功能范围。