リスを倒す 『初めてのPHP,MySQL,JavaScript&CSS』

『初めてのPHP,MySQL,JavaScript&CSS』勉強奮闘記

14-5. Javascriptの式と制御フロー⑤ループ処理

14章ラストです。
ループ処理をやります。PHPの時に勉強したやつの復習です。
javascriptPHPは両方ともwhileとdo...while、forループをサポートしています。

taro-ris.hatenablog.com




1-1. whileループ


PHPのwhile文は条件を優先的に繰り返したいときに使います。定義した条件式がtrueの間ずっと処理を繰り返すときにwhileを使います。

Javascriptのwhileループはまず式の値を調べ、その式がtrueの場合のみループ内のステートメントの実行を開始します。
式がfalseの場合、実行は次のJavasritステートメントに飛ばされます。

以下がループの例です。


<script>
counter=0

while (counter < 5)
{
document.write("Counter: " + counter + "
")

    1. counter

}
</script>

結果はこちら。
f:id:taro-blog2323:20161127163405p:plain

1-2. do...whileループ


テストを行う前に少なくとも1回ループの繰り返しが必要なときには、do...while
ループを使用します。このループはwhileループに似ていますが、ループの各繰り返し後にテスト式がチェックされる点が異なります。
ループの各繰り返し後にテスト式がチェックされる点が異なります。

1から49までの7の倍数の掛け算表を出力するには、以下のようなコードを使用します。


<script>
count = 1
do
{
document.write(count + " times 7 is " + count * 7 + "
")
} while (++count <= 7)
</script>

結果はこちら。
f:id:taro-blog2323:20161127164145p:plain


1-3. forループ


forループは最良の要素を組み合わせて1つのループ構造に仕立てたループで、1つのステートメントに関し次の3つのパラメータ(初期化式、条件式、変化式)を渡します。
これらは、for(式1;式2;式3;)のようにセミコロンで区切られます。

12の掛け算表を出力するには、以下のようなコードを使用します。


<script>
for (count = 1 ; count <= 12 ; ++count)
{
document.write(count + " times 12 is " + count * 12 + "
");
}
</script>

結果はこちら。
f:id:taro-blog2323:20161127165514p:plain

初期化式はループの1回目の繰り返しの開始時に実行されます。
12の掛け算表のコードで言うとcountが値1に初期化されます。(count=1)次いでループが繰り返されるたびに条件式(count<=12)がテストされます。ループに入るのはこの条件がtrueのときだけです。そして最後、変化式が各繰り返しの終わりで実行されます。

1-4.ループをスキップできるcontinueステートメント


ループを抜け出るのではなく、繰り返し中のその回の残りステートメントを飛ばしたい時があります。その場合にはcontinueステートメントが使用できます。


<script>
haystack = new Array()
haystack[4] = "Needle"
haystack[11] = "Needle"
haystack[17] = "Needle"

for (j = 0 ; j < 20 ; ++j)
{
if (haystack[j] == "Needle")
{
document.write("
- Found at location " + j + "
")
continue
}

document.write(j + ", ")
}
</script>

結果はこちら。
f:id:taro-blog2323:20161127171740p:plain


あと2章分と、放置している分で終了…
いじょー