0

我想知道使用 jQuery 或不使用它的区别可能是考虑以下任务。我还没有找到任何答案。

jQuery:

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

纯 JavaScript:

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

有什么区别?我什么时候应该使用哪种方法?谢谢!

4

4 回答 4

3

通常,$(function() { alert("Hello World!"); })等待$(document).ready()并且另一个函数(一个IIFE)立即触发。

但是 jQuery 包装函数是一个非常具体的用例(等待 DOM,使用 jQuery);你的两个例子是不相关的。不要将它们混淆为同一事物的两个版本。

于 2013-11-07T22:02:16.537 回答
0

jQuery 版本绑定在 DOM 加载后执行。闭包中的类型在定义后立即执行。因此,如果您希望它立即执行,请使用第二个版本,如果它应该等到所有内容都加载完毕,请使用第一个版本。

至少,这就是我的想法。

于 2013-11-07T22:05:05.647 回答
0
$(function(){
  alert("hello world");
});

是以下的简写:

$(document).ready(function(){
    alert("hello world");
});

因此它将在 DOM 加载后执行。

而你的纯 js 将在 DOM 加载之前执行。

于 2013-11-07T22:03:07.957 回答
0

主要区别在于 jQuery 函数是在加载 DOM 之后执行的。纯 JavaScript lambda 函数会立即执行(在其上下文中)。

第二个 jQuery 函数是第一个函数的简写。

您仍然可以将 JavaScript lambda 函数放在 jQuery 包装器中。这意味着 lambda 函数将在 DOM 加载后立即执行(感谢 jQuery 的处理)。

于 2013-11-07T22:05:48.263 回答