JavaScriptのfor循環文

1142 ワード

forサイクル
定義
for(初期化式、制御式、循環式){statement}例:
var count = 5;
for (var i = 0; i < count; i++) {
	console.log(i);
}
上記のコードでは変数iの初期値が0と定義されています.条件式i<countがtrueに戻るとforループになりますので、循環体のコードが実行されない場合もあります.循環体のコードを実行すると、必ず循環式i++の値が加算されます.iの値が増分されます.このfor循環文は次のwhile文の機能と同じです.
var count = 5,
	i = 0;
while(i < count){
	console.log(i);
	i++;
}
whileを使って循環できないのは、for循環を使っても同じです.つまり、for循環文は循環に関するコードだけを集めています.forループステートメントでは、変数初期化表現はvarキーではなく、外部で行うことができます.たとえば:
var count = 5,
	i;
for (var i = 0; i < count; i++) {
	console.log(i);
}
上記のコードはサイクル初期化式で変数を宣言する効果と同じです.JavaScriptにはブロックレベルのスコープが存在しないため、ループ内部で定義された変数は外部からもアクセスできます.たとえば:
var count = 5;
for(var i = 0; i < count; i++){
	console.log(i);
}
console.log(i);		//5
また、for文の初期化表現、制御式、循環後表現は任意です.この3つの表式をすべて省略すると無限ループが作成されます.必要です.省略できません.たとえば:
var count = 2;
var i = 1;
for(;;){
	console.log("    !");
}
制御式だけを与えると、実際には、forサイクルをwhileサイクルに変換します.これは、forサイクルの柔軟性を表しています.たとえば:
var count = 5,
	i = 0;
for(;i < count;){
	console.log(i);
	i++;
}