とりあえず、配列をループ
1 2 3 4 5 6 7 8 9 10 |
var list_array = ['A','B','C','D']; for ( var i = 0; i < list_array.length; i++ ) { // ( 初期値; 条件式(今回は配列の数だけ); 増減値) var result = list_array[i] + " は " + ( i+1 ); console.log( result ); } //以下の結果になります // A は 1 // B は 2 // C は 3 // D は 4 |
ループ終了後に変数「i」は最後のが残ります。
1 2 3 4 5 6 7 8 9 10 11 12 |
for ( var i = 0; i < 3; i++ ) { // ( 初期値; 条件式(3より低い場合); 増減値) console.log( i + " だよ!" ); } console.log( "for分終了" ); console.log( "変数には最後の " + i + " が残るよ!" ); //以下の結果になります // 0 だよ! // 1 だよ! // 2 だよ! // for分終了 // 変数には最後の 3 が残るよ! |
2回目のfor文に let を使うと1回目の var の方が残るよ!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
for ( var i = 0; i < 5; i++ ) { console.log( i + " だよ!" ); } console.log( "var for文終了" ); for ( let i = 0; i < 2; i++ ) { // 前回書いたけどletはブロック内限定 console.log( i + " だよ!" ); } console.log( "let for文終了" ); console.log( "変数には var for文の最後の " + i + " が残るよ!" ); 結果以下になります // 0 だよ! // 1 だよ! // 2 だよ! // 3 だよ! // 4 だよ! // var for文終了 // 0 だよ! // 1 だよ! // let for文終了 // 変数には var for文の最後の 5 が残るよ! |
let はボックス内、var は関数内なので、varが優先される
あたりまえだけど、両方letの場合は最後のletの変数が残るよ!