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

Der*_*air 3 jquery

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

(function( $ ){
   ...
})( jQuery );
Run Code Online (Sandbox Code Playgroud)

任何人都可以开导我吗?

Ste*_*ill 5

它允许作者在插件中使用$函数而不将其暴露给全局范围 - 只需在插件本身之外保持一点清洁.

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


Jim*_*dra 5

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