JavaScriptのクロージャ2024 年の最新の入門チュートリアル。このコースでは グローバル変数,例,例,変数のライフサイクル,カウンタージレンマ,例,例,JavaScriptのネストされた関数,例,JavaScriptのクロージャ,例,分析の例, について学習できます。
JavaScript変数は、ローカルまたはグローバル変数とすることができます。
プライベート変数は、クロージャを使用することができます。
関数は、次のような内部関数によって定義された変数にアクセスすることができ?:
この関数はまた、このようなとしての機能に定義された変数、外部からアクセスすることができます。
バックの例は、 グローバル変数です。
Webページでは、グローバル変数ウィンドウオブジェクトに属します。
グローバル変数は、ページ上のすべてのスクリプトで使用することができます。
最初の例では、Aは、 ローカル変数です。
ローカル変数は、その内部機能を定義するために使用することができます。 他の関数やスクリプトコードでは使用できません。
同じ名前のでもグローバルとローカル変数は、彼らはまた、2つの異なる変数です。 1を変更し、それが他の値には影響しません。
あなたはvarキーワードを使用して変数を宣言しない場合、それはそれは関数内で定義されているにもかかわらず、グローバル変数です。 |
グローバル変数のスコープはつまり、JavaScriptのプログラムを通じて、グローバル変数はどこにでもあり、グローバルです。
関数内で宣言された変数で、関数の内部でのみ動作します。 これらの変数は、スコープ内のローカル、ローカルです;関数のパラメータは、機能だけの仕事の内部で、ローカライズされています。
あなたは、いくつかの数値の統計を想像したい場合は、カウンタは、機能のすべてで利用可能です。
あなたはグローバル変数を使用することができ、機能は、カウンタがインクリメントされ設定します。
カウンタ値の変更は、追加()関数の実装で発生しました。
しかし、問題は、ページ上の任意のスクリプトが()関数を追加するためのコールがない場合でも、カウンタを変更することができますされています。
私はカウンター内の関数を宣言すると関数を呼び出していない場合は、カウンタの値を変更しません。
上記のコードが正しく出てこないだろう、私は()関数を追加するために呼び出すたびに、カウンタが1に設定されます。
JavaScriptのインライン機能は、この問題を解決することができます。
すべての関数は、グローバル変数にアクセスすることができます。
実際には、JavaScriptで、すべての機能は、スコープの床の上にそれらにアクセスすることができます。
JavaScriptは、ネストされた関数をサポートしています。 ネストされた関数は、関数の層の上に変数にアクセスすることができます。
この例では、ネストされた関数プラス()親関数のカウンタ変数にアクセスできます。
我々はカウンターの窮状に対処できるように、我々は、 プラス外()関数にアクセスすることができます。
我々はまた、一度だけ、そのカウンタ= 0を確認する必要があります。
私たちは、閉鎖を必要とします。
自身が行う関数呼び出しを覚えていますか? この関数は何でしょうか?
変数が関数の戻り値は自分自身を呼び出す示して単語を追加します 。
自己呼び出し元の関数は一度だけ実行されます。 カウンタをゼロに設定します。 そして、関数式に戻ります。
使用の関数として変数を追加します。 大部分は、機能層のカウンタの範囲にアクセスすることができることです。
これは、JavaScriptのクロージャと呼ばれています。 関数が可能となるように、それはプライベート変数があります。
匿名関数の保護範囲は、唯一の追加方法によって改変することができるカウンター。
クロージャはレイヤ機能が閉じられた場合でも、関数内の一つの関数スコープ変数にアクセスできます。 |