ホームページ > ウェブフロントエンド > フロントエンドQ&A > JavaScript がクロージャを形成するのはいつですか?

JavaScript がクロージャを形成するのはいつですか?

WBOY
リリース: 2022-03-02 16:42:46
オリジナル
2199 人が閲覧しました

JavaScript では、内部関数を含む外部関数の外側で内部関数が呼び出される場合、クロージャが形成されます。クロージャは、関数が戻ったときにリソースを解放しないスタック領域です。クロージャは機能します。関数変数への参照として使用され、関数が返されたときにアクティブ化されます。

JavaScript がクロージャを形成するのはいつですか?

このチュートリアルの動作環境: Windows 10 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。

JavaScript がクロージャを形成するのはいつですか?

クロージャの公式の説明は次のとおりです: 多くの変数とこれらの変数にバインドされた環境を持つ式 (通常は関数)。表現の一部。

クロージャの特徴:

1. 関数変数への参照として、関数が戻ったときにアクティブ化されます。

2. クロージャは、関数が戻ったときにリソースを解放しないスタック領域です。

簡単に言えば、JavaScript では内部関数の使用が許可されています。つまり、関数定義と関数式は別の関数の関数本体に配置されます。さらに、これらの内部関数は、すべてのローカル変数、パラメータ、およびそれらが存在する外部関数で宣言された他の内部関数にアクセスできます。

これらの内部関数の 1 つが、それらを含む外部関数の外側で呼び出されるときに、クロージャが形成されます。

function closure(){
var str = "I'm a part variable.";
return function(){
alert(str);
}
}
var fObj = closure();
fObj();
ログイン後にコピー

上記のコードでは、str は関数クロージャで定義されたローカル変数ですが、クロージャ関数の呼び出し完了後に str にアクセスできなくなった場合、関数の実行完了後に str が解放されます。

しかし、関数クロージャは内部関数を返し、返された関数は str 変数を参照するため、クロージャ関数の実行後に str が参照される可能性があるため、str によって占有されているリソースはリサイクルされません。このクロージャはクロージャを形成します。

関連する推奨事項: JavaScript 学習チュートリアル

以上がJavaScript がクロージャを形成するのはいつですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート