Hir*_*esh 6 javascript jquery iife
我有以下代码,我知道这是一个IIFE.但是,我从来没有能够掌握(jQuery)和($)是什么.我知道这与将jQuery的引用传递给IIFE有关,但有人可以清楚地向我解释它们的用途吗?谢谢你的帮助和时间:-)
(function ($) {
//code
})(jQuery);
Run Code Online (Sandbox Code Playgroud)
jfr*_*d00 14
$是函数的参数. 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);
Run Code Online (Sandbox Code Playgroud)
除了这个例子创建一个全局符号的事实,init这个和你的IIFE的执行是相同的.两者都定义了一个函数并立即调用它.
$是函数的参数. jQuery是作为该论点传递的内容.这用于定义$为jQuery在该函数内部的快捷方式而不影响全局定义$.有时也可能有轻微的性能优势,因为本地定义的符号(作为局部变量或命名参数)可以比全局符号稍微快一些.
IIFE的优点是没有定义新的全局符号.除此之外,它与此代码的执行完全相同.
| 归档时间: |
|
| 查看次数: |
2398 次 |
| 最近记录: |