JavaScript for ループ



ループは、コードのブロックを指定された回数実行できます。


JavaScript ループ

同じコードを毎回異なる値で何度も実行する場合は、ループを使用すると便利です。

次のように配列の値を出力できます:

インスタンス

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php中文网(php.cn)</title>
</head>		
<body>

<script>
cars=["BMW","Volvo","Saab","Ford"];
for (var i=0;i<cars.length;i++){
	document.write(cars[i] + "<br>");
}
</script>

</body>
</html>

実行例»

「インスタンスの実行」ボタンをクリックしてオンライン例を表示します


さまざまなタイプのループ

JavaScript はさまざまなタイプのループをサポートしています:

  • for - コードブロックを特定の回数ループします

  • for/in - オブジェクトのプロパティをループします

  • while - ループ指定された条件が true の場合、指定されたコード ブロック

  • do/while - 指定された条件が true の場合、指定されたコード ブロックもループします


For ループ

for ループはよく使用するツールですループを作りたいときに使います。

for ループの構文は次のとおりです:

for ( ステートメント 1; ステートメント 2; ステートメント 3)
{
実行されたコードブロック
}

ステートメント 1 (コードブロック) は開始前に実行されます

ステートメント 2 ループ (コード ブロック) の実行条件を定義します

ステートメント 3 ループ (コード ブロック) の実行後に実行します

インスタンス

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php中文网(php.cn)</title>
</head>
<body>

<p>点击按钮循环代码5次。</p>
<button onclick="myFunction()">点击这里</button>
<p id="demo"></p>
<script>
function myFunction(){
	var x="";
	for (var i=0;i<5;i++){
		x=x + "该数字为 " + i + "<br>";
	}
	document.getElementById("demo").innerHTML=x;
}
</script>

</body>
</html>

インスタンスの実行»

「インスタンスの実行」ボタンをクリックして、オンライン インスタンスを表示します

上記の例から、次のことがわかります:

ステートメント 1 は、ループの開始前に変数 (var i=0) を設定します。

ステートメント 2 は、ループが実行される条件を定義します (i は 5 未満である必要があります)。

ステートメント 3 コード ブロックが実行されるたびに値 (i++) をインクリメントします。


ステートメント 1

通常、ステートメント 1 を使用して、ループ内で使用される変数を初期化します (var i=0)。

ステートメント 1 はオプションです。つまり、ステートメント 1 を使用しなくても実行できます。

ステートメント 1 で任意の (または複数の) 値を初期化できます:

インスタンス

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php中文网(php.cn)</title>
</head>
<body>

<script>
cars=["BMW","Volvo","Saab","Ford"];
for (var i=0,l=cars.length; i<l; i++){
	document.write(cars[i] + "<br>");
}
</script>

</body>
</html>

インスタンスの実行»

「インスタンスの実行」ボタンをクリックしてオンライン インスタンスを表示します

次のこともできますステートメント 1 を省略します (たとえば、ループの開始前に値が設定されている場合):

インスタンス

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php中文网(php.cn)</title>
</head>
<body>

<script>
cars=["BMW","Volvo","Saab","Ford"];
var i=2,len=cars.length;
for (; i<len; i++){
	document.write(cars[i] + "<br>");
}
</script>

</body>
</html>

インスタンスの実行»

オンライン インスタンスを表示するには、[インスタンスの実行] ボタンをクリックします


ステートメント 2

通常、ステートメント 2 は、初期変数の条件を評価するために使用されます。

ステートメント 2 もオプションです。

ステートメント 2 が true を返すとループが再び開始され、false を返すとループが終了します。

lampステートメント 2 を省略する場合は、ループ内に break を指定する必要があります。そうしないとサイクルを停止できません。これによりブラウザがクラッシュする可能性があります。このチュートリアルの後半で休憩について読んでください。



ステートメント 3

通常、ステートメント 3 は初期変数の値を増やします。

ステートメント 3 もオプションです。

ステートメント 3 には多くの用途があります。増分は負の値 (i--) またはそれより大きい値 (i=i+15) にすることができます。

ステートメント 3 は省略することもできます (たとえば、ループ内に対応するコードがある場合):

Instance

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php中文网(php.cn)</title>
</head>
<body>

<script>
cars=["BMW","Volvo","Saab","Ford"];
var i=0,len=cars.length;
for (; i<len; ){
	document.write(cars[i] + "<br>");
	i++;
}
</script>

</body>
</html>

Run Instance»

[Run Instance] ボタンをクリックしてオンライン例を表示します


For/In ループ

JavaScript の for/in ステートメントは、オブジェクトのプロパティをループします:

Instance

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php中文网(php.cn)</title>
</head>
<body>
	
<p>点击下面的按钮,循环遍历对象 "person" 的属性。</p>
<button onclick="myFunction()">点击这里</button>
<p id="demo"></p>
<script>
function myFunction(){
	var x;
	var txt="";
	var person={fname:"Bill",lname:"Gates",age:56}; 
	for (x in person){
		txt=txt + person[x];
	}
	document.getElementById("demo").innerHTML=txt;
}
</script>
	
</body>
</html>

Run Instance»

オンラインの例を表示するには、[Run Instance] ボタンをクリックします。

JavaScript オブジェクトに関する章で学習します。for / in ループについて詳しく学習します。


while ループ

while ループと do/while ループについては次の章で説明します。