この記事では、例のJavaScript関数のスコープチェーンを分析します。参照のためにそれを共有してください。特定の分析は次のとおりです。
スコープチェーン:
JavaScriptの各関数には独自の範囲があります。アクティブオブジェクト(略してAO)アクティブオブジェクトを使用して保存され、下の図に示すように、ネストされた関数でスコープチェーンが形成されます。
スコープチェーンは、内側から外側までのAOチェーンです
変数検索:
関数FN3で使用されている変数がFN3の範囲内で見つからない場合は、外側のFN2スコープを検索します。
コードのデモンストレーションは次のとおりです。
var c = 5;関数T1(){var d = 6;関数t2(){var e = 7; var d = 3; //ここでvar d = 3が宣言されている場合、関数は変数dを外側に探しず、出力値は15 console.log(c+d+e)です。 } t2(); } t1();JavaScriptスコープチェーンを理解した後、関数の周波数が高い外部変数を使用します。操作を実行する前に、外部変数をローカル変数として保存することをお勧めします。これにより、スコープチェーンを介して変数を見つける時間が大幅に短縮されます。
この記事がみんなのJavaScriptプログラミングに役立つことを願っています。