function($)和$(function())之间的区别

时间:2019-10-24 18:22:50

标签: javascript jquery

function($)$(function())有什么区别?

此代码是否多余?

(function($) {
    "use strict"; 

  $(function() {
      run_code();
  });

})(jQuery); 

它们都是文档就绪功能吗?

1 个答案:

答案 0 :(得分:3)

它们可能看起来相似,但是它们完全无关。

这称为立即调用函数表达式(IIFE)。它们不是特定于jQuery的,但是在这种情况下,即使函数外部的某些内容覆盖了全局{{1},它也可以确保$会引用jQuery$ }和其他变量。为尽量减少与其他库的冲突,这是一种防御性做法。

另一个好处是,此函数中声明的任何变量都不会添加到全局范围中。即使没有jQuery,这也是一种常见的做法,可用于帮助模块化代码并避免污染全局范围。

(function($) {
    "use strict"; 


})(jQuery); 

这告诉DOM在“准备就绪”时jQuery执行指定的功能:

$(function() {
    run_code();
});