一般に、JavaScript で配列を走査するときは、次のような for ループが使用されます。
var arr = [];
for(var i=0; i
//loop
}
this このコードの最大の問題は、ループされるたびに .operator を通じて .length を取得する必要があり、オーバーヘッドが増加することです。そうすれば、このように改善できます。
var arr = []
; for(var i=0, n=arr.length; i//loop
}
このようにして、まず arr.length を一時的に格納しますn 変数は移動します。最初に一度だけ入手してください。
でも、これでいいのでしょうか?余分な意味のない変数 n が定義されているようです。さて、改善を続けます
var arr = [];
for(var i=arr.length-1; i > -1; i--){
//loop
}
わかりましたこれをループしてみます。順序を逆にして、n を削除し、定数 -1 を使用します。
アプリケーション シナリオで for ループを使用できない場合。
の代わりに while を使用すると、これら 2 つのループ ステートメントを有効に活用して、JavaScript の効率を向上させることができます。
var arr = []
; var i= arr.length-1;
while(i--){
//loop arr[i]
}
または
var arr = []
var i=arr.length-; 1;
do {
// ループ arr[i]
}while(--i)
この方法では、特にループの場合、コードがより単純かつ効率的になります。 body は 1 回のみ実行できます。 次に、do while を使用した場合の効果は明らかです。
唯一の問題は、i をループの外に移動することです。