ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript のクロージャー_JavaScript のヒント

JavaScript のクロージャー_JavaScript のヒント

WBOY
WBOYオリジナル
2016-05-16 15:13:521157ブラウズ

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 のクロージャーの紹介です。お役に立てば幸いです。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。