函数调用'$'作为参数

时间:2011-09-29 07:57:03

标签: javascript

我有一个包含以下代码的脚本:

(function ($) {
  // ...
})($);

任何人都可以解释如何阅读它吗?

4 个答案:

答案 0 :(得分:8)

  1. 创建匿名函数
  2. 让它采用一个名为$
  3. 的参数
  4. 立即调用此功能
  5. 传递一个参数,无论$的值是否在外部范围内。
  6. 如果外部作用域中的$发生更改(通过为其指定新值),则内部作用域中$的值将受到保护而不受更改(因为它是不同的)变量)。

    这也为函数内声明的所有其他变量提供了一个干净的范围(如果他们应该使用var)。

答案 1 :(得分:1)

'$'是JavaScript中的合法变量。它可以很容易地成为someCrazyLongVariableName

答案 2 :(得分:0)

它有点破坏了将$符号封装成匿名函数的目的 它是一个自执行的匿名函数,以$为参数 在大多数情况下,您使用此标记来避免js库冲突:假设您要在项目中使用jQuery和prototype。非常好,但他们都使用'$'标志......如何克服这个?

// jquery code here
(function($){
    alert($ === jQuery);// the $ is a shortcut to jQuery
})(jQuery);

 // non-jquery code here - ex: prototype
 alert($ === jQuery);// the $ is NOT a shortcut to jQuery ANYMORE

答案 3 :(得分:0)

如果您没有特别考虑$,则摘录会创建一个javascript函数并在单个语句中调用它。

我不是百分百肯定,但我猜2 $变量将是一个不同的范围。

我觉得这个页面很有用,如果有点冗长: -

http://www.authenticsociety.com/blog/JavaScript_DollarSign

总之,调用变量a没有什么不同,但应该避免。