jQuery中的等价就绪函数
这三个相等吗jQuery中的等价就绪函数,jquery,Jquery,这三个相等吗 $(function(){ $("#a").html("i am a") }); 参考: 否,第一个等待文档准备就绪,其他两个不等待。它们只是为代码创建一个要在其中运行的作用域,而不是在全局作用域中运行。第一个作用域实际上在等待就绪事件,而其他作用域则没有 第二个用于对JQuery进行别名处理,但在现在的使用方式中它是无用的。传递参数$中接收的$。当使用另一个库为$指定不同的值时,通常使用此构造。在这种情况下,您可以调用函数($){…}(jQuery),使$变量仍指
$(function(){
$("#a").html("i am a")
});
参考:
第二个用于对JQuery进行别名处理,但在现在的使用方式中它是无用的。传递参数
$
中接收的$
。当使用另一个库为$
指定不同的值时,通常使用此构造。在这种情况下,您可以调用函数($){…}(jQuery)
,使$
变量仍指向函数范围内的jQuery。顺便说一句,建议的变量是jQuery(函数($){…})代码>。因此,即使第三方脚本接管了全局$
名称,您也可以在ready-handler中安全地使用它。谢谢,Sime!为什么变种能起作用?如何在jQuery()的作用域内将$分配给jQuery?jQuery
函数本身就是这样做的。它将自身指定为函数的第一个参数,并将其作为第一个参数(就绪处理程序)接收。因此,只要调用jQuery
函数,向它传递一个回调函数(ready处理程序),该函数的第一个参数就是jQuery
函数本身。你可以给它起任何名字,但显然,$
最有意义。
(function($){
$("#b").html("i am b")
})($);
(function(){
$("#c").html("i am c")
})();