複数の初期化式と変化式

広告

for文では初期化式、条件式、変化式の3つの式を使用しますが、初期化式と変化式には複数の式を記述することができます。複数の式を記述する場合は式と式の間をカンマ演算子(,)で区切って記述します。(カンマ演算子については「カンマ演算子」を参照して下さい)。

for (初期化式1, 初期化式2, ..; 条件式; 変化式1, 変化式2, ..){
  実行する文;
}

例えば次の例を見て下さい。

var i, j;
for (i = 1, j = 9; i < 10; i++, j--){
  alert("i = " + i + ",j = " + j);
}

この例では初期化式として「i = 1, j = 9」、変化式として「i++, j--」が記述されています。for文の最初で変数「i」と「j」に初期値が代入されます。また繰り返し処理が1回行われるたびに変数「i」の値が1増加し、変数「j」の値が1減少します。

このように初期化式で複数の変数を初期化したり、変化式として複数の変数の値を変化させる事が可能です。(条件式は論理演算子を使うことで複雑な条件式を指定することができます)。

サンプルコード

では簡単なサンプルで試してみます。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<title>JavaScript テスト</title>
</head>
<body>

<script type="text/javascript" src="./js/script4_1.js">
</script>

</body>
</html>
document.write("<p>");

for (var i = 1, j = 9; i < 10; i++, j--){
  document.write("i = " + i + ",j = " + j + "<br />");
}

document.write("</p>");

上記を実際にブラウザ見てみると次のように表示されます。

p4-1

( Written by Tatsuo Ikura )