2013-10-02 83 views
-4

我對語法的意義有點麻煩「(函數($)」和「(jQuery的)」,在下面的代碼。jQuery插件的語法太奇怪

(function($){ 
$.fn.myPlugin = function() { 
    // Do your awesome plugin stuff here 
};})(jQuery); 

能否請您解釋一下什麼意思在上面的代碼其中?

如果我想改變短語「(jQuery的)」到「(ABC)」,那麼該怎麼辦呢,如何使用它?

感謝您抽出寶貴時間來回答我的問題。

+1

如果將'jQuery'更改爲'abc',那麼閉包內的'$'將是'abc'而不是'jQuery'的值。如果'abc'未定義,$ .fn.myPlugin會給出錯誤。 – Halcyon

+1

爲什麼你想改變它爲abc? –

+2

你的問題已經回答[這裏](http://stackoverflow.com/questions/4484289/id-like-to-understand-the-jquery-plugin-syntax)。 – bertl

回答

1

function($)表示該函數採用單個參數,變量$(與任何參數一樣)可在函數內部訪問。

$.fn.myPlugin正在使用該參數。

(function...)(jQuery)正在創建一個自動調用的功能塊,傳遞jQuery作爲參數。

這樣做的關鍵是確保$ alias通常用於表示jQuery實際上是傳遞一個jQuery對象,而不是任何其他名爲$的變量。

沒有很好的理由將jQuery更改爲abc,除非在變量abc中有jQuery實例。

1

這是一個立即調用的函數表達式。它允許您1)以任何變量限制在其範圍內而不是污染窗口環境的方式附上代碼,以及2)傳入您可以在代碼中使用的參數。

在這種情況下Jquery傳遞作爲$所以你可以用$安全的,您可以使用$沒有它與可能使用它作爲一個別名任何其他庫衝突的知識。

假設abc存在,您當然可以通過abc以及jQuery

(function($, abc) { 
    $.fn.myPlugin = function() { 
    console.log(abc); 
    } 
}(jQuery, abc));