它有很大的区别吗?这些代码之间有什么区别?
$(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()但是这种符号如何影响页面的速度?
答案 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
上使用,把你所有的东西包在那里 - 以获得更好的性能。