今日の復習
ループ構文
→反復に分類。同じ処理を繰り返す。
while命令
→条件が真である間、処理処理を繰り返す。
- 構文
while(条件式){
条件式がtrueのときに実行される命令
}
- 例
var x=10;
while(x<10){
console.log('xの値は'+x)
x++;
}//結果:xの値は8 xの値は9
do...while命令
→条件が真である間、処理処理を繰り返す。
- 構文
do{
条件式がtrueのときに実行される命令
}while(条件式);
- 例
var x=10;
do{
console.log('xの値は'+x);
x++;
}while(x<10);//結果:xの値は8 xの値は9
while命令とdo...while命令の違い
→while命令は前置判定。条件式をループの最初で判定。
do...while命令は後置判定。条件式をループの最後で判定。
そのため条件の真偽に関わらず、後置判定では必ず処理されるが
前置判定では処理されない場合がある。
for命令
→回数を指定してループ処理をさせる。
- 構文
for(初期化式;ループ継続条件式;増減式){
ループ内で実行する命令
}
- 例
for(var x=8;x<10;x++){
console.log('Xの値は'+x);
};//結果:xの値は8 xの値は9
処理の流れ
var x = 8
x<10
(8<10)
true
console.log('Xの値は'+x);
(コンソールに表示)
x++
(9=8+1)
x<10
(9<10)
true
console.log('Xの値は'+x);
(コンソールに表示)
x++
(10=9+1)
x<10
(x<10)
false
終了
- 例2
→カンマ演算子を利用
for(var i=1,j=1;i<5;i++,j++){
console.log('i*jは'+i*j);
}//結果:i*jは1 i*jは4 i*jは9 i*jは16
for...in命令
→オブジェクトのプロパティを取り出して先頭から順に処理する。
- 構文
for(仮変数 in 連想配列){
ループ内で実行する命令
};
- 例
var data={apple:150,orange:100,banana:120};
for(var key in data){
console.log(key+"="+data[key]);
};
/結果:apple =150 orange=100 banana=120
for...of命令 ES2015
→配列などを列挙する命令
- 構文
for(仮変数 of 配列){
ループ内で実行する命令
}
- 例
var data = ['100','200','300'];
for(var val of data){
console.log(val);
};
/結果:100 200 300