1. クロージャとは
クロージャ。クロージャの正式な説明は次のとおりです。多くの変数とこれらの変数にバインドされた環境を持つ式 (通常は関数)、つまりこれらの変数も式の一部です。
簡単に言うと、JavaScript では内部関数の使用が許可されています。つまり、関数定義と関数式は別の関数の関数本体に配置されます。さらに、これらの内部関数は、すべてのローカル変数、パラメータ、およびそれらが存在する外部関数で宣言された他の内部関数にアクセスできます。クロージャは、これらの内部関数の 1 つが、それらを含む外部関数の外側で呼び出されるときに形成されます。
クロージャの特徴
1 つの関数のネストされた関数
2 外部パラメータと変数は関数内で参照できます
3 パラメータと変数はガベージ コレクション メカニズムによってリサイクルされません
一般関数の実行後、ローカルのアクティブオブジェクトは破棄され、グローバルスコープのみがメモリに保存されます。しかし、閉店の場合は状況が異なります。
function fn(){ var a = ; function fn(){ //可以访问fn中定义的a值 alert( a++ ); } fn(); } fn(); // fn(); // function fn(){ var a = ; function fn(){ //可以访问fn中定义的a值 alert( a++ ); } return fn;// } var f = fn(); f(); // 执行完后a还在内存中 f(); // f = null; //a被回收
上記は編集者による JavaScript のクロージャーの紹介です。お役に立てば幸いです。