這是個常令人confused的東西,常常會搞不清楚區別在哪裡

$(function)

1$(function() {
2    //dosomething
3});
1$(document).ready(function(){
2    //something
3});

以上兩個是相同的意思,意指在DOM tree載入完成後再執行方法
這個方式主要是用在前端UI要操作DOM tree時使用,但無法回傳任何jQuery相關物件

(function($))(jQuery)

1(function($){
2    //something
3})(jQuery);

這個方式主要是用在jQuery plugin,實際上是執行了一個匿名的function並回傳jQuery物件,當jQuery載入完成後便會開始執行,但無法操作DOM tree

Categories: jQuery