ImpressCMS
HOME  >  JSCRIPT  > 制御文 > whileループについて > ※無限ループに注意しましょう。

 5 - 4 - 3 : ※無限ループに注意しましょう。

while文の場合、forループのように回数が決まっているわけではないので、永遠に成立してしまう条件を入力してしまうと、永遠にループを繰り返す無限ループになってしまいます。
たとえば、下のようなスクリプトを実行すると、
var input_data = 0;
var input2 = 0;
while(input_data<100){
   input2 = parseInt(prompt("数値を入力してください(100以上を入力すると終了)"));
   document.write("入力されたデータは" + input2 + "です<br>");
}
document.write("処理を終了しました<br>");
input_dataは、何回ループを繰り返しても0のまま(入力データを格納するのは、input2に格納しているので)です。
なので、永遠にループ処理をし続けようとします。

まあこのような短いスクリプトで間違えることは殆どないと思いますが、長いスクリプトで似たような変数名で処理させた場合、このようなことが起こりえます。
ずっと処理が終わらず、無限ループになってしまっているときは、こんな状況が起こってないかを確認する必要があります。

 
Publish : 1345 bytes - updated 2024-07-31 by 管理人