(function($){….})(jQuery)
初次看到這種寫法時,一頭霧水,不知所雲。在網上查找了一些資料之後才有點明白。
我們先看第一個括號裡邊的內容:function($){….},這不就是一個匿名的函數嗎?但是它的形參比較奇怪,是$,這裡主要是為了不與其它的庫沖突。
這樣我們就比較容易理解第一個括號內的內容就是定義了一個匿名函數,我們在調用函數的時候,都是函數名後邊加上括號以及實參,但是由於操作符的優先級我們定義的匿名函數也需要用()括起來。
現在我想大家已經很清楚這句話是什麼意思了吧。第一個括號表示定義了一個匿名函數,然後第二個函數表示為該函數傳遞的參數,整個結合起來意思就是,定義了一個匿名函數,然後又調用該函數,該函數的實參為jQuery。
相當於:function fun($){…};fun(jQuery);
這種方法多用於存放開發的插件,執行其中的代碼時,Dom對象並不一定加載完畢。於此相反的是$(function(){}),這種方法在使用時頁面的Dom對象已經加載完畢了。事實上該方法的全寫是:$(document).ready(function(){});