这两个javascript函数有什么区别?

324*_*423 3 javascript jquery closures

我一直在研究一些jQuery插件如何工作,我已经看到以下作为整个插件的闭包

$(function(){
    // plugin code here

});

(function($){
    // plugin code here

})(jQuery);
Run Code Online (Sandbox Code Playgroud)

这两者有什么区别?

Rob*_*nik 8

第一个是jQuery DOM Ready函数定义,而第二个是函数闭包,它在解析时立即运行,并以jQuery对象作为参数执行.

当您希望在页面加载所有文档元素(文档已准备好)时执行某些操作时,通常会在页面上使用第一个.
第二个通常与插件一起使用,因为它创建了一个闭包,因此您可以在其中定义外部代码无法访问的私有.

  • 我知道你的意思,但有点含糊不清.第一个在DOM准备就绪时执行(所有html元素都存在).第二个立即执行(一解析)."当页面加载时"有点令人困惑 (2认同)