変数がループ内に作成されるスコープがあるとしましょう。たとえば、ゲームフレームの繰り返し呼び出しで常に実行されるループです。JavaScriptで多くの変数がパフォーマンスに悪いのですか?
for(var i = 0; i !== 10; i ++) {
for(var b = 0; b !== 10; b ++);
}
可変i
もしこのコードの変数はb
(ループのブロックが実行されるたびに10回作成された)メモリから削除されていませんか? JavaScriptのガベージコレクタは、ブラウザで同じように機能しません。
何度も作成されたこれらの一時変数がどうなるかを知る必要があります。
元のコードで 'var'の代わりに' let'を使用した場合、パフォーマンスは悪くなりますか? – nnnnnn
@nnnnnn本当に悪いとは思いませんが、ループで 'let'や' const'を使うと、繰り返しごとに新しいバインディングが作成されます。 (まあ、少なくともこれは何が起こるべきかです。Firefoxは私が最後にチェックしたことはありませんでした)。したがって、ブラウザがこれを最適化された方法で実装しなかった場合、少し遅くなる可能性があります。 – Oriol
これらの 'i'と' b'はゲームフレームループ関数が呼び出されるたびに作成されますか? (これらのループはゲームループ関数に宣言されていると仮定します)。私はそれについてはわかりませんでした。 –