0

$(document).ready(); について質問があります。jqueryの機能。それは何をするためのものか。これらのコードの違いは何ですか;

1.

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

この

2.

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

最初のコードは匿名関数を定義していますが、関数を呼び出す場所はどこですか。少なくとも、2 番目の関数は無名関数を呼び出しています。このクエリについて説明してください。事前にサンクス。

4

4 に答える 4

3

最初のケースの説明 最初のケース
は、DOM などの準備が整ったときに呼び出される無名関数です。期待どおりに機能します。
それが何をするかわからない場合は、ここで簡単に説明します。

それが行うことは、ready 関数にパラメーターとして関数を与えることです。それは、DOM (ページを意味する) がロードされて準備ができたときにそのメソッドを呼び出すように、ready メソッドに指示します。

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

2 番目のケースの説明 2 番目のケース
は、開発者のミスに違いありません。これは「即時関数」であり、パーサーがそれを確認するとすぐに実行されることを意味します。関数:

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

- はすぐに文字列を警告しhello、メソッドは を返しundefinedます。それを ready メソッドに挿入したままにします。

つまり、「こんにちは」と叫ぶだけで、その後このセリフになります。

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

最初の関数は、ドキュメントの準備ができたときに呼び出されます。$(document).ready、ドキュメント読み込み機能もあります。ドキュメントの準備が整ったときに ready 関数が呼び出されます (css + js)。load 関数は、画像を含むすべてが読み込まれるときに呼び出されます。

あなたが指摘する2番目の機能は、このように使用されることはありません。これは、無名関数とドキュメント対応の組み合わせです。あなたの関数では、無名関数が直接呼び出され、結果がドキュメント準備完了関数に渡されます。そのように使用する場合は、次のように使用する必要があります。

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

より詳しい情報:

  1. jQuery の読み込み
  2. jQuery対応
于 2013-08-20T17:38:22.557 に答える
0

違いはありません。$(document).ready()ドキュメントの読み込み準備が整うと、jQuery によって自動的に呼び出されます (イベントが発生して処理されます)。ready 呼び出しに渡した無名関数を実行します。2 番目の例で行ったことは、もう一度渡して実行することだけです。

于 2013-08-20T17:37:00.383 に答える
0

$(document).ready()コールバック関数をイベントにバインドします。documentオブジェクトのイベントが発生するreadyと、コールバック関数が実行されます。渡す引数readyは、そのイベント バインディングのコールバックとして機能する関数です。

于 2013-08-20T17:37:02.507 に答える