我在下面的代码中对语法“(function($)”和“(jQuery)”的含义有点麻烦。
(function( $ ){
$.fn.myPlugin = function() {
// Do your awesome plugin stuff here
};})(jQuery);
你能解释一下它们的含义吗?
如果我想将上面代码中的短语“(jQuery)”更改为“(abc)”那么如何操作以及如何使用它?
感谢您抽出宝贵时间回答我的问题。
答案 0 :(得分:1)
function($)
表示该函数接受一个参数,即变量$
,它可以在函数内部访问(就像任何参数一样)。
$.fn.myPlugin
正在使用该参数。
(function...)(jQuery)
正在创建一个自动调用的函数块,并将jQuery
作为参数传递。
这样做的关键是确保人们通常用来表示jQuery的$
别名实际上是传递一个jQuery对象,而不是任何名为$
的其他变量。
除非您在变量jQuery
中进行abc
实例化,否则没有充分理由将jQuery
更改为abc
。
答案 1 :(得分:1)
它是一个立即调用的函数表达式。它允许您1)以任何变量仅限于其范围而不是污染窗口环境的方式包含代码,以及2)传入可在代码中使用的参数。
在这种情况下,Jquery
以$
传入,因此您可以使用$
安全知道您可以使用$
,而不会与任何其他库发生冲突可能会将它用作别名。
如果存在abc
,您当然可以传递jQuery
以及abc
。
(function($, abc) {
$.fn.myPlugin = function() {
console.log(abc);
}
}(jQuery, abc));