for ループ

更新 : 2007 年 11 月

for ステートメントは、カウンタ変数、評価する条件、およびカウンタを更新する処理を指定します。ループが反復処理される前に、条件が評価されます。評価が成功した場合は、ループ内のコードが実行されます。評価が成功しなかった場合、ループ内のコードは実行されず、ループ後の 1 行目のコードの処理が続けられます。カウンタ変数は、ループの実行後、次の反復処理が開始される前に更新されます。

for ループの使用

ループの条件が満たされない場合、ループは一度も実行されません。条件が常に満たされると、無限ループになります。場合によっては、ループが実行されない方が望ましいこともありますが、無限ループが望ましい場合はほとんどありません。したがって、ループ条件を記述するときには注意が必要です。次の例では、for ループを使用して、配列の要素を 1 つ前の要素までの合計値で初期化しています。

var sum = new Array(10); // Creates an array with 10 elements
sum[0] = 0;              // Define the first element of the array.
var iCount;

// Counts from 0 through one less than the array length.
for(iCount = 0; iCount < sum.length; iCount++) { 
   // Skip the assignment if iCount is 0, which avoids
   // the error of reading the -1 element of the array.
   if(iCount!=0)
      // Add the iCount to the previous array element,
      // and assign to the current array element.
      sum[iCount] = sum[iCount-1] + iCount;
   // Print the current array element.
   print(iCount + ": " + sum[iCount]); 
}

このプログラムの出力は次のようになります。

0: 0
1: 1
2: 3
3: 6
4: 10
5: 15
6: 21
7: 28
8: 36
9: 45

次の例には、2 つのループがあります。最初のループのコード ブロックは実行されません。2 番目のループは無限ループになります。

var iCount;
var sum = 0;
for(iCount = 0; iCount > 10; iCount++) { 
   // The code in this block is never executed, since iCount is
   // initially less than 10, but the condition checks if iCount
   // is greater than 10.
   sum += iCount;
}
// This is an infinite loop, since iCount is always greater than 0.
for(iCount = 0; iCount >= 0; iCount++) { 
   sum += iCount;
}

参照

参照

for ステートメント

その他の技術情報

JScript のループ

JScript の条件構造

JScript リファレンス