No.03 Javascript の記述方法
07 命令の複数回実行
 
 命令を複数回実行させるための命令は幾つか存在しますが、ここでは for ステートメントと while ステートメントを紹介します。


for ステートメントの概念



複数実行 [ for ]

  var count = 0
  for (x = 0 ; x < 10 ; x ++){
    count ++;
  }
  document.write(count);

	

 for ステートメントは、
  「1」:ループさせる初期値
  「2」:ループ終了の値
  「3」:1ループで加算する値
 の3つを、左から順に設定します。 この手の命令は、言語に依存することなくほぼこの順ですので、一度でも他の言語を触ったことのある方はとっつきやすいでしょう。
 上記のプログラムの場合、「x」の初期値は「0」、それが10を超えるまでループ、ループ加算値は「1」となります。
 ループの加算は、「x=x+1」と書きますが、この加算に関しては、「x++」で代用することが出来るので、普段はこちらを使います。
 ここで注意しないといけないのは、ループ終了の値を、不等号で指定するというところにあります。
 for ステートメントは、「2」の指定、ループ終了の値で終了するのですが、例えば「 a = 10 」としたとき、パソコン側の内部カウントが 10.00000001 のように計算誤差が発生していた場合、条件文が合致しないということになります。 つまり、 a = 10の時点でループが終了せず、そのまま無限ループに入ってしまう場合が多いのです。
 最近のブラウザでは、スクリプト処理が無限ループに入っていると思われる場合、そこから強制回避するかどうかといったダイアログを出してくれるものもありますが、旧ブラウザなどではそのままハングアップしてしまう場合もあります。 不等号による条件を設定するのは、ループ型のスクリプトを開発する場合には必須であるといえましょう。
 尚、 forステートメント で用いる変数は、あらかじめ宣言している必要はありません。「 for (x = 0 ... ) 」のソースを書けば、自動的に「 x 」を宣言したことになります。





while ステートメントの概念

複数実行 [ while ]

  var count = 0
  while (count < 100){
    count ++;
  }

  document.write(count);

	

 whileステートメント は、指定した条件の結果が「 false 」となった場合に、ループを終了させる命令です。 上記のプログラムは、 Count が100を超えるまで計算して、ループを繰り返します。
 この場合も、無限ループに陥らないよう、 条件設定には不等号を使うようにします。



 補足;スクリプトが無限ループに陥っているかどうかは、ブラウザが判定してくれることがあります。


無限ループ発生時の警告表示の例

 この警告は、Javascriptが、ブラウザの想定している範囲を逸脱してリソースを消費している場合、すなわち無限ループに陥っている場合によく表示されます。 スクリプト開発中にこのメッセージに総合した場合、パソコンの動作を安定させるためにも、スクリプトを強制的に中断することをお勧めします。


ページの最上段へ移動します