NO.6 循环语句的使用

循环语句是JavaScript最常见的,也是必须要掌握的在此记录一下不同循环语句的区别和如何使用

do-while后循环

据JavaScript高级程序设计是这样定义的:do-while语句是一种后测试循环语句,即只有循环体中的代码执行以后才会测试出口的条件,在对条件表达式求值时,循环体内的代码至少会循环一次。用的少但是也记录一下扩展一下知识

实例

var i = 0;
do{
  i += 2;
}while(i<10);
alert(i)
1
2
3
4
5

while循环

while属于前测试循环的一种他会在循环体代码执行前就会对出口条件求值,因此循环体内的条件也许没有上场的机会但是这谁有知道呢,当然看需求吧~

实例

var i = 0;
while(i<10){
	i++;
}
alert(i);
1
2
3
4
5

for循环

for循环也是前测试循环的一种但是他和while不同的是它具有在执行循环前初始化变量和定义循环后要执行的代码

实例

var conat = 10;
for(var i = 0;i < conat;i++){
  //alert(`this is ${i}`)
  console.log(`this is ${i*i}`)
}
1
2
3
4
5

它会从0循环到9也就是它会弹十次窗口这会很麻烦所有我们需要使用console.log的方式进行调试因为alert它是会阻塞后面的进程的所以在一边情况下最好使用console.log

for-in循环

for…in是一种精准的迭代语句,可以用来枚举对象的属性,for...in 循环只遍历可枚举属性

语法:for(property in expression) {statement}

实例

var arry = {
  a:'sony',
  b:'canon',
  c:'nikon'
},
    for(var i in arry){
      console.log(i);
      console.log(arry[i]);
    }
1
2
3
4
5
6
7
8
9

break和continue语句

Break和continue都是立即退出循环但是他们两个在用途中还是有区别的,break的话会立即退出并且强制执行循环后面的语句。但是continue的话虽然也是立即退出了循环但是退出循环后会从循环的顶部继续执行

break 语句中止当前循环,switch语句或label 语句,并把程序控制流转到紧接着被中止语句后面的语句。

var text = "";

for (var i = 0; i < 10; i++) {
  if (i === 3) {
    break;
  }
  text = text + i;
}

console.log(text);
// expected output: "012"
1
2
3
4
5
6
7
8
9
10
11

continue 语句结束当前(或标签)的循环语句的本次迭代,并继续执行循环的下一次迭代。

var text = "";

for (var i = 0; i < 10; i++) {
  if (i === 3) {
    continue;
  }
  text = text + i;
}

console.log(text);
// expected output: "012456789"
1
2
3
4
5
6
7
8
9
10
11