jQuery语法的异同

时间:2019-02-20 08:38:01

标签: javascript jquery

这样做:

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

这:

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

做同样的事情吗?

前者是我常用的东西,而我见过的是在几个插件中使用的东西。它们是相同的吗?如果不是,那么它们之间有什么区别?何时使用哪一个?

1 个答案:

答案 0 :(得分:2)

他们不一样。

前者是document.ready事件处理程序。该事件将在DOMContentLoaded事件激发后立即运行。也可以这样写:

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

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