javascript - 函数($)和$(函数())之间的区别

标签 javascript jquery

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

这段代码是多余的吗?

(function($) {
    "use strict"; 

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

})(jQuery); 

它们都是文档就绪函数吗?

最佳答案

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

这称为立即调用函数表达式 (IIFE)。这些并不特定于 jQuery,但在这种情况下,它确保在此函数体内,$ 将引用 jQuery,即使函数外部的内容已被覆盖全局 $ 变量和其他东西。这是一种最大限度地减少与其他库的冲突的防御性做法。

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

(function($) {
    "use strict"; 


})(jQuery); 

这告诉 jQuery 在 DOM“准备好”时执行指定的函数:

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

关于javascript - 函数($)和$(函数())之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58547144/

相关文章:

javascript - 数值变了,有人知道怎么回事吗?

javascript - 使用 AngularJS 设置事件标签样式

javascript - 用 css 按钮替换单选按钮并将标签保留在 div 中

javascript - 如何生成序列id并上下移动表行并动态调整每行的序列ID?

javascript - 如何在 jstree 中为 check_node 和 uncheck_node 添加事件监听器

javascript - knockout : How pass observable to custom binding?

javascript - document.write 中 undefined variable

javascript - 如何使用帐户密码包判断用户的电子邮件是否已存在

javascript - 将动态网页存储为对象的最佳方式是什么?

jquery宽减像素兼容IE