假如您需要运行代码多次,且每次使用不同的值,那么循环(loop)相当方便使用。
通常我们会遇到使用数组的例子:
不需要这样写:

1
2
3
4
5
6
var arr = ['张三','李四','王五','赵六','杨七'];
console.log(arr[0]);
console.log(arr[1]);
console.log(arr[2]);
console.log(arr[3]);
console.log(arr[4]);

可以使用for循环:

1
2
3
4
var arr = ['张三','李四','王五','赵六','杨七'];
for(let i = 0;i < arr.length;i++){
console.log(arr[i]);
}

不同类型的循环

  • for - 循环代码块一定的次数
  • for/in - 循环遍历对象的属性
  • while - 当指定的条件为 true 时循环指定的代码块
  • do/while - 同样当指定的条件为 true 时循环指定的代码块

for 循环

语法:

1
2
3
4
for (语句 1; 语句 2; 语句 3)
{
被执行的代码块
}

代码解释:
语句 1 (代码块)开始前执行
语句 2 定义运行循环(代码块)的条件
语句 3 在循环(代码块)已被执行之后执行

示例:
打印小于10的正整数:

1
2
3
for(let i = 1;i < 10;i++){
console.log(i);
}

for/in 循环

用for/in 语句遍历对象的属性
语法:

1
2
3
for(声明变量(即遍历数组的键名) in 数组){
访问元素:数组[键名]
}

示例:

1
2
3
4
var studentScore = {chinese: 90, math: 93, english: 88};
for (let subject in studentScore){
console.log(subject + '分数为:' + studentScore[subject]);
}

输出:

1
2
3
chinese分数为:90
math分数为:93
english分数为:88

While 循环

while 循环会在指定条件为真时循环执行代码块。
语法:

1
2
3
while (条件) {
要执行的代码块
}

示例:
打印小于10的正整数:

1
2
3
4
5
var num = 1;
while (num < 10){
console.log(num);
num++;
}

do/while 循环

do/while 循环是 while 循环的变体。该循环会在检查条件是否为真之前执行一次代码块,然后如果条件为真的话,就会重复这个循环。
语法:

1
2
3
4
5
do
{
需要执行的代码
}
while (条件);

示例:
打印小于10的正整数:

1
2
3
4
do {
console.log(num);
num++;
}while (num < 10);

while与do…while的区别:

while
先判断条件是否满足,如果满足就执行循环体内的语句,执行完毕后再回来判断条件是否满足,如此无限重复;直到条件不满足时,执行while循环后边的语句。简单来讲就是说while循环是先判断后循环
do…while
与while循环的不同在于:它先执行循环中的语句,然后再判断表达式是否为真, 如果为真则继续循环;如果为假, 则终止循环。因此, do…while循环至少要执行一次循环语句。 简单来讲就是说while循环是先循环后判断

break 和 continue 语句

break 语句用于跳出循环。
continue 用于跳过循环中的一个迭代。

break 语句

break 语句可用于跳出循环。
break 语句跳出循环后,会继续执行该循环之后的代码(如果有的话)。
break 语句(不带标签引用),只能用在循环或 switch 中。

continue 语句

continue 语句中断循环中的迭代,如果出现了指定的条件,然后继续循环中的下一个迭代。
continue 语句(带有或不带标签引用)只能用在循环中。