Javascript jQuery插件';他的语法太奇怪了

Javascript jQuery插件';他的语法太奇怪了,javascript,jquery,Javascript,Jquery,对于下面代码中的语法“(function($)”和“(jQuery)”的含义,我有点麻烦 (function( $ ){ $.fn.myPlugin = function() { // Do your awesome plugin stuff here };})(jQuery); 你能解释一下它们是什么意思吗 如果我想将上述代码中的短语“(jQuery)”改为“(abc)”,那么如何做以及如何使用它 感谢您抽出时间回答我的问题。函数($)表示该函数采用单个参数,即变量$,该变量(与任何

对于下面代码中的语法“(function($)”和“(jQuery)”的含义,我有点麻烦

(function( $ ){
$.fn.myPlugin = function() {
    // Do your awesome plugin stuff here
};})(jQuery);
你能解释一下它们是什么意思吗

如果我想将上述代码中的短语“(jQuery)”改为“(abc)”,那么如何做以及如何使用它

感谢您抽出时间回答我的问题。

函数($)
表示该函数采用单个参数,即变量
$
,该变量(与任何参数一样)可在函数内部访问

$.fn.myPlugin
正在使用该参数

(function…(jQuery)
正在生成一个自动被调用的函数块,并将
jQuery
作为参数传递

这样做的要点是确保人们通常用来表示jQuery的
$
别名实际上是传递给jQuery对象的,而不是任何其他名为
$
的变量


没有很好的理由将
jQuery
更改为
abc
,除非变量
abc
中有
jQuery
实例化,它是一个立即调用的函数表达式。它允许您1)以这样的方式封装代码:任何变量都被限制在其范围内,而不是污染窗口环境;2)传入可以在代码中使用的参数

在这种情况下,
Jquery
作为
$
传入,因此您可以使用
$
safe,因为您可以使用
$
,而不会与可能将其用作别名的任何其他库发生冲突

您当然可以传入
abc
以及
jQuery
,前提是
abc
存在

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

如果将
jQuery
更改为
abc
,则闭包内的
$
将是
abc
的值,而不是
jQuery
。如果
abc
未定义
$。fn.myPlugin
将给出一个错误。你为什么要将其更改为abc?你的问题已经得到了回答。@bertl哇,Joel自己也回答了!看看这个答案: