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に依存しません。ブラウザがWebページを解析すると、HTML部分が処理され、DOM(メモリ内)に読み込まれますが、javascript部分はブラウザのJavascriptマシンに直接渡されます。

javascriptマシンは、要求しない限り、何も待たずにJavascriptコードを直接実行します(そのため、直接コードは解析時に直接実行されます)。そのため、「ロード」などにイベントハンドラーがあります。(古い基本的な方法)

JQueryは、「ready」メソッドを支援します。

執筆:

$(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 に答える