本章节复习的是JS中的循环语句,让我们能更快速且简单的完成一些需求。
JS中有以下几种循环语句类型:
for
语句do...while
语句while
语句labeled
语句break
语句continue
语句for...in
语句for...of
语句
1. for语句
重复执行for
的条件语句,直到循环条件为false
退出循环:
var a = 1;
for(a<3) {
a++;
}
var a = [ 1, 3, 4, 6];
var sum = 0;
for (var i = 0; i < a.lenght; i++) {
sum += a[i];
}
sum; // 14
2. do…while语句
重复执行do
的条件,直到不符合while
的条件,退出循环。
do {
a += 1;
} while(a < 5)
3. while语句
重复执行while
的条件,直到while
的条件为false
,退出循环。
var a = 0;
var b = 0;
while(a<5) {
a++;
b ++ a;
}
// a => 5 b => 15
4. labeled语句
用来标识一个程序位置的标识符,如标识一个循环,并在break
或continue
中指出终止标识符,来停止这个循环。
var a = [1, 2, 3, 4, 5];
labelName:
for(var i = 0; i < a.length; i++) {
console.log(i);
if(i > 1) {
break labelName;
}
}
// 0
// 1
// 2
5. break语句
用于终止一个循环,还可以在switch
中终止,通常这么使用:
-
终止一个循环;
for(var i = 0; i < a.length; i++){ if(a[i] == 1){ break; } }
-
终止一个
label
;lebal: for(var i = 0; i < a.length; i++) { for(var j = 0; j < a.length; j++) { if(a[i] == a[j]) { break label; } } }
6. continue 语句
用来跳出当前循环,进入下个循环,可以使用在while
、do...while
、for
或者labeled
语句。
-
有使用continue
var a = 0; var b = 0; while(a < 5) { a++; if(a == 2) { continue; } b += a; console.log(b); } // 1 4 8 13
-
没有使用continue;
var a = 0; var b = 0; while(a < 5) { a++; if(a == 2) { // continue; } b += a; console.log(b); } // 1 3 6 10 15
7. for … in 语句
通常用于遍历一个对象的所有可枚举的属性,执行指定方法:
var a = [
{name: 'a'},
{name: 'b'},
{name: 'c'}
];
for(var k in a) {
// a为循环对象 k为当前指针位置
console.log(a[k]);
}
8. for … of 语句
通常用于遍历一个可迭代对象(包括Array,Map,Set和参数对象arguments等),执行指定方法:
var a = [1, 2, 3];
for(var k in a) {
console.log(k); // k 为下标
}
for(var m of a) {
console.log(m); // m 为当前元素的值
}
参考资料
https://pingan8787.blog.csdn.net/article/details/85645226