5. クロージャ
クロージャとは、外部関数の実行が終了した場合でも、内部関数がその周囲の関数内に存在する変数を参照できることを意味します。
まずクロージャの例を見てみましょう。
]
コード①は関数層内ですが、外層の変数numを利用することができます。
クロージャは、もう 1 つの一般的な JS 問題であるグローバル変数の影響も解決できます。
匿名関数の組み合わせクロージャを自動的に実行することで、本来グローバルである変数を非表示にすることができます。以下の例を見てください:
外部 Js を導入する必要がある場合は、更新して実行する必要があります
]
[Ctrl A すべて選択 注:
外部 Js を導入する必要がある場合は、更新して実行する必要があります
]
[Ctrl A すべて選択 注:
外部 Js を導入する必要がある場合は、更新して実行する必要があります
]
[Ctrl A すべて選択 注:
外部 Js を導入する必要がある場合は、更新して実行する必要があります
[Ctrl A すべて選択 注: 外部 Js を導入する必要がある場合は、 を実行するために更新する必要があります]
クロージャの概念は理解するのが簡単ではなく、それを理解するのに多くの時間とエネルギーがかかりました。
6. 概要
注記 (2)、(3)、および (4) では、参照、関数のオーバーロード、スコープ、コンテキスト オブジェクト、クロージャなど、JavaScript のいくつかの重要な内容について説明します。
参照の主な内容: ポインター、配列参照、文字列参照、差分、値渡し、アドレス渡し。
関数のオーバーロードの主な内容: パラメーターの数、パラメーターの型、引数、疑似配列、typeof、コンストラクター、文字列とオブジェクトの違い。
スコープの主な内容: 関数分割、グローバル スコープ、グローバル オブジェクト、ウィンドウ オブジェクトのプロパティ、ローカル スコープ、明示的宣言、暗黙的宣言。
コンテキスト オブジェクトの主な内容: この変数、呼び出し、適用、パラメーターの差分、配列。
クロージャの主な内容: 内部関数、外部関数、変数、setTimeout、クロージャの問題、最後の代入、クロージャ、スコープ。