0

我有一个关于 $(document).ready(); 的问题 jquery中的函数。它有什么作用。这些代码有什么区别;

1.

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

和这个

2.

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

第一个代码定义了匿名函数,但它在哪里调用该函数。至少,第二个函数正在调用匿名函数。请向我解释这个查询。提前谢谢。

4

4 回答 4

3

第一种情况
的解释 第一种情况是一个匿名函数,当 DOM 等准备好并完成时将调用它。它可以按您的预期工作。
如果您不知道它的作用,那么我将在这里简要解释一下:

它的作用是给 ready 函数,一个函数作为参数,它告诉 ready 方法,当 DOM(意思是页面)加载并准备好时调用该方法。

var myReadyFunction = function(){ // Define the method to be called when 
        alert("hello");           // the DOMis ready
    };
$(document).ready(myReadyFunction); // Tell the ready function, to execute 
                                    //this function when the DOM is ready

第二种情况的解释第二种情况
,一定是开发者搞错了,它是一个“立即函数”,意思是解析器看到就立即执行。功能:

(function(){
    alert("hello");
})();

- 将立即提醒字符串hello并且方法将返回undefined。将其插入到 ready 方法中:

意思是,它所做的只是喊“你好”,然后变成这条线。

$(document).ready(undefined);
于 2013-08-20T17:38:14.113 回答
0

没有区别。$(document).ready()当您的文档准备好加载时由 jQuery 自动调用(触发一个事件,然后处理该事件)。它执行您传递给就绪调用的匿名函数。您在第二个示例中所做的唯一一件事就是再次传递它并执行它。

于 2013-08-20T17:37:00.383 回答
0

$(document).ready()将回调函数绑定到事件。一旦document对象的ready事件触发,回调函数将被执行。您传递给的参数ready是您希望用作该事件绑定的回调的函数。

于 2013-08-20T17:37:02.507 回答
0

第一个函数在文档就绪时调用。$(document).ready,还有一个文件加载功能。当文档准备好(css + js)时调用ready函数。加载所有内容时调用加载函数,包括图像。

您指出的第二个功能永远不会以这种方式使用。它是匿名函数和文档就绪的组合。在您的函数中,直接调用匿名函数并将结果传递给文档就绪函数。如果你这样使用它,你应该像这样使用它:

$(document).ready((function(){
    alert("hello");
}) // No open / close brackets and no ;
);

更多信息:

  1. jQuery 加载
  2. jQuery 准备好了
于 2013-08-20T17:38:22.557 回答