5
我有下面的代碼,我知道是IIFE。但是,我從來沒有能夠掌握(jQuery)和($)是什麼。我知道這與將jQuery的參考傳遞給IIFE有關,但是有人能夠清楚地解釋他們的目的嗎?感謝您的幫助和時間:-)立即調用的函數表達式(IIFE)在JavaScript - jQuery的傳遞
(function ($) {
//code
})(jQuery);
我有下面的代碼,我知道是IIFE。但是,我從來沒有能夠掌握(jQuery)和($)是什麼。我知道這與將jQuery的參考傳遞給IIFE有關,但是有人能夠清楚地解釋他們的目的嗎?感謝您的幫助和時間:-)立即調用的函數表達式(IIFE)在JavaScript - jQuery的傳遞
(function ($) {
//code
})(jQuery);
$
是一個函數的參數。 jQuery
是在調用函數時作爲參數傳遞的內容。
把它看成是這樣的:
function init($) {
// code can use $ here as a shortcut for jQuery
// even if $ has a different definition globally or isn't defined globally
}
init(jQuery);
除此之外,這個例子創建一個全局符號init
的事實,這個執行和你的IIFE是相同的。兩者都定義一個函數並立即調用它。
$
是一個參數傳遞給該函數。 jQuery
是作爲該參數傳遞的內容。這有助於定義$
爲jQuery
的快捷方式,同時該函數內部不影響$
全局定義。還有有時會產生輕微的性能優勢,因爲本地定義的符號(無論是作爲本地變量或命名參數)可稍快比全局符號訪問。
的IIFE的優點是,沒有新的全球性的符號定義。除此之外,它在執行這個代碼時是一樣的。
可愛的回答我的朋友:-)謝謝! :-) – Hirvesh