带有多事件的$(function)与带有单事件的multi $(function)的区别

Difference between $(function) with multi event vs multi $(function) with single event

本文关键字:function 事件 multi 区别 单事件      更新时间:2023-09-26

这两个代码有什么区别吗?

$(function(){
$("#id1").click(function(){ //some codes}
$("#id2").click(function(){ //some codes}
$("#id3").click(function(){ //some codes}
}); 

$(function(){ $("#id1").click(function(){ //some codes}});
$(function(){ $("#id1").click(function(){ //some codes}});
$(function(){ $("#id1").click(function(){ //some codes}});

我知道它的document.ready(),但是这个符号如何影响页面的速度?

多次调用document.ready可能会导致代码运行速度变慢,如jspref所示:http://jsperf.com/abusing-jquery-document-ready.

但更重要的是,它会损害可读性。代码什么时候开始?首先运行哪些函数?)。

默认情况下,jquery会将所有$(function(){ ... })调用合并为文档中的单个CC_3调用。当您有几个DOM就绪调用(即$(function(){ ... }))时,您需要jquery执行额外的工作(这需要一些时间和一点内存)。

所以你最好总是使用一个DOM Ready handler,包装所有的东西在那里-为了更好的性能。