C#についても同様の質問がありますが、JavaScriptについては何も見つかりませんでした。JavaScriptループ外で変数を宣言すると、スピードとメモリのメリットはありますか?
ループ内で変数を宣言するのは慣例ですか?
ループを200回繰り返すと仮定します。
サンプル1よりもサンプル2を使用するためのパフォーマンスの要件(メモリとスピード)はありますか?私たちはjQueryを使ってループしています。ループ内にvarを保持するコードの可読性を向上させますが、それがベストプラクティスでない場合や、パフォーマンスが大幅に低下したり、メモリ使用量が高くなったりすると、スイッチされます。
**Sample 1:**
$(this).each(function() {
var i = $(some_div).clone();
*** edit i ***
$(another_div).append(i);
});
**Sample 2:**
var i = null;
*** edit i ***
$(this).each(function() {
i = $(some_div).clone();
$(another_div).append(i);
});
なぜこれを測定しないのですか? –
@ Crashalot:サンプル1では、各繰り返しで変数が作成されます。サンプル2では、変数が再利用されています。いくつかのパフォーマンステストを行ったことがありますか? –
いいえ、これは確立されたパターンでなければならないため、ベストプラクティスを聞いてみたいと思っていました。 varが再利用されているためにパフォーマンスが向上すると仮定しますが、大きな利点があるかどうかは疑問です。 varsがループ内にある場合はコードを読む方が簡単ですが、速度とメモリのパフォーマンスが外部に宣言する必要がある場合は、それを行います。 – Crashalot