我有一个关于$(document).ready()的问题; jquery中的函数。 它有什么作用。 这些代码之间有什么区别;
1
$(document).ready(function(){
alert("hello");
});
和这个
2
$(document).ready((function(){
alert("hello");
})();
);
第一个代码定义了匿名函数,但它在哪里调用函数。 至少,第二个函数是调用匿名函数。 请向我解释这个问题。 提前完成。
答案 0 :(得分: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
。留下插入就绪方法:
意思是,所有这一切都是大喊“你好”,然后变成这一行。
$(document).ready(undefined);
答案 1 :(得分:0)
没有区别。当您的文档准备好加载时(事件被触发然后被处理),jQuery会自动调用$(document).ready()
。它执行您传递到就绪调用的匿名函数。您在第二个示例中唯一做的就是再次传递并执行它。
答案 2 :(得分:0)
$(document).ready()
将回调函数绑定到事件。一旦document
对象的ready
事件触发,将执行回调函数。您传递给ready
的参数是您希望用作该事件绑定的回调函数。
答案 3 :(得分:0)
在文档就绪时调用第一个函数。 $(document).ready
,还有一个文档加载函数。文档准备就绪时调用ready函数(css + js)。加载所有内容时都会调用加载函数,包括图像。
你指出的第二个功能从未以这种方式使用。它是匿名函数和文档准备的组合。在您的函数中,直接调用匿名函数,并将结果传递给文档就绪函数。如果您以这种方式使用它,您应该像这样使用它:
$(document).ready((function(){
alert("hello");
}) // No open / close brackets and no ;
);
更多信息: