0

我在客户端 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();

请提供指点。

4

3 回答 3

2

以下代码在执行后立即执行$(function() { })

$(function () {})只是注册一个处理程序以在文档准备好时执行,但处理程序本身在文档准备好之前不会执行。

于 2013-02-11T21:47:40.407 回答
1

Javascript 是独立于 DOM 的。当您的浏览器解析网页时,它将处理 HTML 部分并将其加载到 DOM(在内存中),而 javascript 部分将直接交给浏览器的 Javascript 机器。

javascript机器会直接执行Javascript代码而不等待任何东西(这就是为什么直接代码在解析时会直接执行),除非你问它。这就是为什么你在“加载”等上有一些事件处理程序。(旧的基本方式)

JQuery 帮助我们使用“就绪”方法。

写作:

$(function() {

    // SOme of your code

});

是相同的 :

$(document).ready(function() {

    // Some of your code

});

只有在加载 DOM 并准备好使用后,您的所有代码才会执行​​。

于 2013-02-11T21:57:16.463 回答
1

这是一个快速演示: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
于 2013-02-11T21:59:26.763 回答