【问题标题】:JQuery Syntax Similarity and Difference [duplicate]JQuery语法异同[重复]
【发布时间】:2019-07-13 21:17:54
【问题描述】:

这样做:

$(document).ready(function(){
     alert("Hello World");
});

还有这个:

(function($){
    alert("Hello World");
})(jQuery);

做同样的事情?

前者是我常用的,后者是我见过的几个插件中使用的。它们是否相同,如果不同,它们有什么区别以及何时使用哪个?

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    它们不一样。

    前者是一个 document.ready 事件处理程序。只要DOMContentLoaded 事件触发,它就会运行。也可以这样写:

    $(function() {
      alert("Hello World");
    });
    

    后者是Immediately Invoked Function Expression (IIFE)。这将立即执行(顾名思义)。因此,在执行此逻辑之前,您需要手动确保 DOM 处于准备好与之交互的状态。您通常可以通过将脚本放在 body 标记的末尾或在它自己的 document.ready 处理程序中来做到这一点。不过,后者在使用 jQuery 时有点多余。

    【讨论】:

      猜你喜欢
      • 2011-05-30
      • 2012-02-15
      • 2012-11-02
      • 1970-01-01
      • 1970-01-01
      • 2011-06-05
      • 2018-07-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多