Javascript の匿名関数と通常の関数のメモリ使用量に違いはありますか?
もしそうなら、どのように?説明できますか?
Javascript の匿名関数と通常の関数のメモリ使用量に違いはありますか?
もしそうなら、どのように?説明できますか?
「通常の関数」とfunction a(){
は、スクリプトのルートレベルで宣言された関数、つまりウィンドウオブジェクトにアタッチされた関数を意味する場合、はい、違いがあります:
しかし、これらの違いは通常は些細なものであり、通常は気にする必要はありません。ほとんどのページでは、イベント ハンドラーを削除しないため、無名関数がガベージされることはありません (通常、無名関数の最初の根本原因)。
全体的に (時期尚早の最適化はルートなどです) ガベージの問題がない限り、読みやすさを優先することをお勧めします。Javascript エンジンとその GC は頻繁に変更されるため、努力が無駄になる可能性があります。
Google は、クロージャとメモリに関する興味深い通知を持っています。