2013-09-22 11 views
-2

我見過很多的jQuery/JS $(函數()...

1.

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

2.

(function($) { 

}(jQuery)) 

我只是想選擇一個對我來說,哪一個我應該選擇?

回答

1

兩者都完全不同。

第一個是dom ready事件處理程序,傳遞給$的函數將在dom就緒事件中執行。這裏的問題是,如果你使用了jQuery.noConflict()$可能不是指jQuery

第二個是一個匿名函數執行,其中$內部函數內將把jQuery的,這是在情況下很有用,你必須使用jQuery.noConflict()來支持其他庫,如原型/ mootools。這種機制的一個缺點是你仍然需要使用DOM準備處理內部函數內像

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

我的解決方案將作如下因爲它上面兩個步驟一起

jQuery(function($) { 
     console.log('a'); 
}) 
相關問題