4

$(document).ready(function(){});複数回指定できることに気づきました。
このように仮定します

$(document).ready(function(){
    var abc = "1122";
    //do something..
});

$(document).ready(function(){
    var abc = "def";
    //do something..
});
  1. これは標準ですか?これらのコードは私のFF(16.0.2)で機能します。私は他のブラウザがそうではないかもしれないことを少し恐れています。
  2. 実際に何が起こりますか?jQueryはこれらのコードをどのように処理しますか?

ありがとう。

4

3 に答える 3

10

はい、これは標準で推奨されており、jQueryは、これらの関数が宣言順に実行されることを保証します(実装の詳細については、この関連する回答を参照してください)。

変数は関数に対してローカルであり、abc干渉しません。abc他のコールバックからのコールバックの1つで宣言されたの値を確認することはできません。

于 2012-11-29T10:18:26.233 に答える
1

はい、同じページで複数のdocument.ready関数を使用できます。どのブラウザでもエラーや例外は発生しません。関数は上位から下位に実行されます。

于 2012-11-29T10:22:58.450 に答える
0

標準ですが、$(document.ready)を1つだけ使用してDRYを維持します。そうしないと、ページにこれらの宣言が10個表示され、メンテナンス不可能なスパゲッティのように見える可能性があります。コード(ただし、JSではそれも可能です)

于 2012-11-29T11:01:36.740 に答える