1

这三个是等价的吗?

$(function(){
  $("#a").html("i am a")
});

(function($){
  $("#b").html("i am b")
})($);

(function(){
  $("#c").html("i am c")
})(); 

代码可用here

参考:

4

2 回答 2

2

第一个实际上等待就绪事件,而其他则没有。

第二个是用来给 JQuery 起别名的,但是在现在的使用方式上是没用的。你通过$,它在参数中接收$。当使用另一个为 分配不同值的库时,通常会使用此构造$。在这种情况下,您可以调用function($){...}(jQuery), 以使$变量在函数范围内仍然指向 jQuery。

于 2012-10-16T22:02:19.280 回答
0

不,第一个等到文件准备好,其他两个没有。它们只是为代码创建一个运行范围,而不是在全局范围内运行。

于 2012-10-16T21:59:39.630 回答