これは計り知れないかもしれませんが、私は依然として尋ねます。好奇心から。このコードでループを壊したときに `else if`よりも単純な` if`が高速ですか?
:
for (var i = 0; i < 10; i++) {
if (i > 5) {
break;
}
console.log("Do some stuff:", i);
}
私は、6回の反復のためのループを実行し、7日にそれを破ります。このコードで
:
for (var i = 0; i < 10; i++) {
if (i > 5) {
break;
} else {
console.log("Do some stuff:", i);
}
}
私はかなり同じループが壊れている前に、それを破るif
へelse
内部にある実行されるコードを除いてください。
明らかに、結果は同じです。しかし、これらの2つのコードは、下位レベルで別々に処理されていますか?そのうちの1つはわずかに高速ですか? 外見以外に違いはありますか?
これは実際にターゲットとするVMによって異なりますが、ここでは両方の例で同じ命令を1つのVMでは使用できますが、別のVMでは使用できません。また、一般的なシナリオの具体的な答えはありませんが、小さなコンテキスト変更によってコンパイラがコードを完全に変更する可能性があります。 – MinusFour