$(函数)与多事件与多$(函数)与单事件之间的区别

时间:2014-08-02 13:55:57

标签: javascript jquery

它有很大的区别吗?这些代码之间有什么区别?

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

VS

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

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

2 个答案:

答案 0 :(得分:1)

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

但更重要的是,它会损害可读性。 (代码何时开始?首先运行哪些函数?)。我只是为了一个大的一体化init()功能。

答案 1 :(得分:1)

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

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