什么(function($){...})(jQuery);做/是什么意思?

时间:2010-03-17 17:59:43

标签: jquery

我对jquery的可重用插件有点新鲜。我已多次遇到此代码,无法确切知道发生了什么。

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

任何人都可以启发我吗?

3 个答案:

答案 0 :(得分:5)

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

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

答案 1 :(得分:5)

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

答案 2 :(得分:1)

function( $ ){ /* … */ }是一个anonymous function,可以jQuery作为参数直接调用。因此,匿名函数中的$jQuery相同。