【问题标题】:What does (function( $ ){...})( jQuery ); do/mean?(function($){...})(jQuery);做/意思?
【发布时间】:2010-03-17 17:59:43
【问题描述】:

我对 jquery 的可重用插件有点陌生。我已经多次遇到此代码,无法弄清楚到底发生了什么。

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

谁能给我指点一下?

【问题讨论】:

    标签: jquery


    【解决方案1】:

    它允许作者在插件中使用 $ 函数,而不会将其暴露在全局范围内 - 只是让插件本身之外的东西更清晰。

    我相信这是开发 jQuery 插件的最佳实践 - 我确实在某个地方的文档中看到过它!

    【讨论】:

    • 通过扩展,它还允许你使用除 jQuery 之外的其他库,例如 Scriptaculous 或 Prototype
    【解决方案2】:

    它创建一个匿名函数并立即执行它,并将jQuery 作为参数传递给它。由于匿名函数接受参数$,因此在函数$ 中是jQuery 对象,即使$ 正在被某些东西使用,您也可以将$ 用于jQuery 对象,就像您习惯的那样函数之外的else(例如另一个库)。像这样在匿名函数中包装代码可以防止变量命名冲突,因为在函数内定义的任何变量都仅限于该函数的范围。

    【讨论】:

    • It creates an anonymous function and executes it immediately。我没有看到这里正在执行的函数..
    • 好吧,这只是我没有完全理解的语法。第一组括号包含一个匿名函数,第二组调用声明的函数。这是一个很好的解释:markdalgleish.com/2011/03/self-executing-anonymous-functions
    【解决方案3】:

    function( $ ){ /* … */ } 是一个anonymous function,直接以jQuery 作为参数调用。所以匿名函数里面的$jQuery是一样的。

    【讨论】:

      猜你喜欢
      • 2011-02-25
      • 2020-04-20
      • 2011-09-21
      • 1970-01-01
      • 1970-01-01
      • 2012-08-31
      • 1970-01-01
      • 2020-04-29
      • 2017-02-27
      相关资源
      最近更新 更多