閉鎖と閉鎖によって引き起こされる可能性のある問題

クロージャとは:

関数のスコープとそのすべての変数は、関数の実行終了後に破棄されます。ただし、クロージャを作成した後、関数のスコープはクロージャが存在しなくなるまで保存されます。

JavaScript では、オブジェクトが参照されなくなった場合、そのオブジェクトはガベージ コレクション メカニズムによってリサイクルされます。

クロージャーの役​​割:

1. 関数内の変数を読み取ることができます

2. これらの変数の値をメモリに保存します。

クロージャによって発生する可能性のある問題:

  1. クロージャを使用すると、関数内の変数がメモリに格納され、大量のメモリが消費されるため、クロージャを悪用することはできません。悪用しないと、Web ページでパフォーマンスの問題が発生します。

  2. 一般に、関数の実行が完了すると、ローカルのアクティブ オブジェクトは破棄され、グローバル スコープのみがメモリに保存されます。ただし、クロージャの場合は状況が異なり、クロージャ関数が実行された後、匿名関数のスコープ チェーンが依然としてアクティブ オブジェクトを参照しているため、そのアクティブ オブジェクトは破棄されません。クロージャ関数のアクティブ オブジェクトは、匿名関数が破棄されるまで破棄されません。

https://blog.csdn.net/weixin_42153287/article/details/125582993

おすすめ

転載: blog.csdn.net/qq_39813400/article/details/129060978