JavaScript でクロージャを作成するには、一般的に 2 つの方法が使用されます。
コンストラクターメソッド:
new function() { var 变量... }
インライン実行方法:
(function() { var 变量... })();
JavaScript の内部動作メカニズムにおけるこれらの違いは何ですか?どちらの方法で作成するのが良いでしょうか?他の方法で作成されたクロージャーと比べて、どのような利点がありますか?
私は次のように理解しています:
違い:
第一: サブメソッドは変数を共有できます
2 番目: 内部サブメソッド共有変数
比較:
インラインの方が良いと思います;
利点:
一般に、インライン作成にはオンデマンドのメモリが必要です。これは、ローカルで実行される変数のみがメモリ内にあるため、予期しない相互作用のリスクを最小限に抑えるために関連コードと依存コードを編成し、すべてのメソッド実行変数をメモリに格納する必要があるためです。 Web ページのパフォーマンスを低下させるため、終了する前に変数を削除することをお勧めします
もちろん、これは私の個人的な理解にすぎません。実際、クロージャを使用すると、特に IE カーネル ブラウザでメモリ リークが発生します。変数を使用した後は、それらを強制終了するのが最善です。
上記がこの記事の全内容です。皆さんに気に入っていただければ幸いです