-2

我见过很多 jquery/js $(function()...

1.

$(function() {
      console.log('a'); 
})

2.

(function($) {

}(jQuery))

等等

我只是想为我选择一个,我应该选择哪一个?

4

1 回答 1

1

两者完全不同。

第一个是 dom 就绪事件处理程序,传递给的函数$将在 dom 就绪事件上执行。这个问题是如果你用过jQuery.noConflict()$可能不会参考jQuery

第二种是匿名函数执行,其中$内部函数将引用 jQuery,这在您曾经jQuery.noConflict()支持其他库(如原型/mootools)的情况下很有用。这种机制的一个缺点是您仍然需要在内部函数中使用 dom 就绪处理程序,例如

(function($) {
    $(function(){
        //your jQuery code
    })
}(jQuery))

我的解决方案如下,因为它同时执行了上述两个步骤

jQuery(function($) {
      console.log('a'); 
})
于 2013-09-22T09:47:28.037 回答