webページのつくり方 | 学びの道

webページのつくり方、web制作、web作成、学びの道を歩み中!フェリカテクニカルアカデミー「東京・池袋」にてWeb作成を勉強中です。学んだ事をメモしていきます。

JavaScript while文 無限ループの中断(break)

 

 

JavaScript while文 無限ループの中断(break) について記載したいと思います。

 

【復習】

【while文】

  1. while文は、()によって指定されている条件が真の間中括弧内{ }で囲まれた処理ブロックが繰り返し実行される。                      注意!)つまり、真(true)で有り続ける繰り返し条件を記述してしまった場合、無限ループとなり、最悪メモリーを使い果たしてPCがダウンする可能性有り。
  2. while文は、for文と違い、条件を( )中に全て書くわけでは無い。

  3. 繰り返しの条件を微妙に変えられるので、for文と違い、変数は自分で決める事が出来る。(for文はⅰのみを使用。)

 

    変数の初期値;

     while(繰り返し条件;){

       実行される処理

     変数の変更

     }

                                      

【問題】whileを使用して、下記の様に表示させなさい。

  • 正解は5のみ
  • 5が入力された場合 →  正解です。
  • 10以下5超過が入力された場合 → もっと小さい数字を入力してして下さい。
  • 10以下5未満が入力された場合 → もっと大きい数字を入力してして下さい。

f:id:kaoru01-05:20140406052940g:plain

 

<!DOCTYPE HTML>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>ループの中断</title>
</head>

<body>
<script>


var ans =5;
var num;
var msg ='1~10までの数字を入力して下さい';

while(true){ <!-- trueを( )に記載する事により、永遠に繰り返してOKの条件(無限ループの条件)を作っている為、必ずbreakを記載する事。/>
    num=prompt(msg,'半角数字を入力');


    if(ans==num){ <!--正解だったら-->
        document.write('<h1>正確です</h1>');
        break;
    }

if (num <ans){
    msg ='もっと大きい数を入力してください';


}else if(num>ans){
    msg='もっと小さい数字を入力してください';

 

}else{
    msg='数を入力してください';

}
}
</script>
</body>
</html>