ホームページ > ウェブフロントエンド > jsチュートリアル > jQuery が `(function(window, unknown){...})(window);` を使用するのはなぜですか?

jQuery が `(function(window, unknown){...})(window);` を使用するのはなぜですか?

Patricia Arquette
リリース: 2024-12-11 02:45:09
オリジナル
783 人が閲覧しました

Why Does jQuery Use `(function(window, undefined){...})(window);`?

jQuery での JavaScript カプセル化の構文の探索

jQuery 1.4 ソース コードを調べると、次のカプセル化構文に遭遇する可能性があります。

(function( window, undefined ) {

  //All the JQuery code here 
  ...

})(window);
ログイン後にコピー

この構文では次のような疑問が生じます。 「未定義」変数の目的と「ウィンドウ」の繰り返しの出現

「未定義」の意味

括弧内の「未定義」変数は次のとおりです。予約されたキーワードではありません。むしろ、これは新しい値を割り当てることができる通常の変数です。この場合、jQuery は、グローバル変数「未定義」が真に未定義のままであることを保証するために、「未定義」を「未定義」と等しく設定します。

「ウィンドウ」の重要性

「window」変数はグローバル JavaScript オブジェクトを参照します。 「window」を引数として無名関数に渡すことにより、jQuery はグローバル オブジェクトへのローカル参照を作成します。このローカル参照によりパフォーマンスが向上します。

JavaScript が変数を検索するとき、最初にローカル スコープをチェックします。変数がローカルで見つからない場合、検索は次のスコープに進み、グローバル スコープに到達するまで続けられます。グローバル オブジェクトへのローカル参照を作成することにより、JavaScript はすべてのスコープを検索することなく、「ウィンドウ」をすばやく見つけることができます。

この最適化は、Nicholas C. Zakas の記事「Speed Up Your JavaScript」で説明されています。 」により、jQuery ライブラリの実行速度が大幅に向上します。

以上がjQuery が `(function(window, unknown){...})(window);` を使用するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート