我在客户端 JS 中有以下 jquery 代码
// Following gets executed at document.ready() time
$(function() {
prepareCurList();
});
// When does the following code gets executed as its just a plain JS statement???
prepareNextList();
请提供指点。
我在客户端 JS 中有以下 jquery 代码
// Following gets executed at document.ready() time
$(function() {
prepareCurList();
});
// When does the following code gets executed as its just a plain JS statement???
prepareNextList();
请提供指点。
以下代码在执行后立即执行$(function() { })
。
$(function () {})
只是注册一个处理程序以在文档准备好时执行,但处理程序本身在文档准备好之前不会执行。
Javascript 是独立于 DOM 的。当您的浏览器解析网页时,它将处理 HTML 部分并将其加载到 DOM(在内存中),而 javascript 部分将直接交给浏览器的 Javascript 机器。
javascript机器会直接执行Javascript代码而不等待任何东西(这就是为什么直接代码在解析时会直接执行),除非你问它。这就是为什么你在“加载”等上有一些事件处理程序。(旧的基本方式)
JQuery 帮助我们使用“就绪”方法。
写作:
$(function() {
// SOme of your code
});
是相同的 :
$(document).ready(function() {
// Some of your code
});
只有在加载 DOM 并准备好使用后,您的所有代码才会执行。
这是一个快速演示:http: //jsfiddle.net/PwsPv/
console.log(1); // 1
$(function(){
console.log(5); // 5
});
$(document).ready(function(){
console.log(6); // 6
});
console.log(2); // 2
$(window).on("load",function(){
console.log(7); // 7
});
console.log(3); // 3
$(window).on("load",function(){
console.log(8); // 8
});
console.log(4); // 4