循环语句可以让我们反复多次地执行同一段代码。循环语句分为几种不同的类型,但它们的工作原理几乎一样:只要给定条件仍能得到满足,包含在循环语句里的代码就将重复地执行下去;一旦给定条件的求值结果不再是true,循环也就到此为止。
while 循环
while循环与if语句非常相似,它们的语法几乎完全一样; while循环与if语句唯一的区别是:只要给定条件的求值结果是true,包含在花括号里的代码就将反复地执行下去。下面是一个while循环的例子
var count = 0;
while (i < 10){
count++;
}
console.log(count) //值为10;i > 10后循环体不被执行
do-while循环
这与刚才介绍的while循环非常相似,但有个显而易见的区别:对循环控制条件的求值发生在每次循环结束之后。因此,即使循环控制条件的首次求值结果是false,包含在花括号里的语句也至少会被执行一次。
var i = 10;
do {
i + 2;
} while (i < 10);
console.log(i) // 值为12 ; i 在测试前先执行了一次 + 2 ,i 等于 12,12 > 10循环语句不被执行;注:循环体内代码至少会被执行一次
for 循环
用for循环来重复执行一些代码也很方便,它类似于while循环。事实上,for循环只是刚才介绍的while循环的一种变体。
for (var i = 0; i < 10; i++) {
console.log(i) //打印分别是 1、2、3 ... 10
}
//以上代码定义了变量 i 等于 0 。只有当 i < 10 的情况下才会进行 for 循环。执行循环体中的代码则一定会对循环后的表达式(i++)求值
break 和 continue 语句
var num = 0
for(var i = 0; i < 10; i++){
num = i
break
}
console.log(num) //值为0; break终止了循环
var num1 = 0
for(var i = 0; i < 10; i++){
if(i % 5)
continue
num++
}
console.log(num) //值为8;也就是循环总数共执行了8次。 当变量 i 等于 5 时,循环会在num再次递加之前退出
for-in循环
for-in语句是一种精准的迭代语句,可以用来枚举对象的属性
var people = {
name: '小三',
age: 18
}
for (var key in people){
console.log(key + ':' + people[key]) //打印结果 name:小三 age:18
}