详解for循环在JS中的用法

209 阅读2分钟

1. for循环

目的:减少对重复内容的多次操作,帮助解决执行多次的问题

  1. for循环的语法:

for (声明变量表达式 ; 条件判断语句(返回 true or false); 变量增长) {

代码块:执行体,也就是你要重复执行的内容就放在这里面

}

for(var i = 0; i < 10; i++){
    console.log(1);
}
  1. for循环执行顺序

1.声明变量 i ,并且赋值为0 => 代表从0这个值 开始,等待判断

2.执行 i < 10; 并且返回Boolean. 如果条件为真, 则直接先执行一次里面的执行语句

如果条件为假,则跳出循环,不执行里面的语句

3.执行完里面的代码之后,执行变量自增 i++;

4.判断 i++ 是否小于 10 ,如果小于,则接着执行里面的语句,否则跳出循环

原始for循环的写法

var i = 0;
    for(;i < 10;){
      console.log(2);
      i++;
}

2. for循环遇到的问题

2.1 什么都不会输出的情况

我们看下面的这段代码:此时i=0,因为0false,所以条件判断语句为假,也就不会进入到执行体中。

所以什么都不会输出。

2.2 死循环

什么意思呢?条件恒为真就继续循环,一直循环下去

在测试的时候尽量少用,会导致电脑卡顿。

解决方法:

  1. 使用关键字break可以终止循环
var j = 1;
 for(;j;){
 if(j === 11){
 console.log(j);
 break;
 }
  j++;
}
  1. return 用于返回一个值,终止程序运行

在浏览器环境下,for循环不要使用return语句

var k = 1;
for(;k;){
     console.log(k);
     k++;
     if(k === 11){
     return;
     }
  }
  1. 使用continue关键字可以跳过本次循环,继续执行下一次循环。

break是终止的意思,一旦终止,后面的循环将不再执行。

3. 练习

3.1 打印100以内,跳过可以被7整除或者个位数是7的数
for(var i = 0; i < 100; i++){
    if(i % 7 === 0 || i % 10 === 7){
    continue;
 }
console.log(i);
}
3.2 打印100以内,可以被4或5或6整除的数
for(var n = 0;n < 100;n++){
   if(n % 4 === 0 || n % 5 ===0 || n % 6 ===0){
   console.log(n);
   }
}
3.3 打印100以内,能够被4和5和6同时整除的数
for(var a = 0;a < 100;a++){
   if(a % 4 === 0 && a % 5 === 0 && a % 6 ===0){
   console.log(a);
   }
}

4. 双重for循环

外层循环一次,内层循环所有的程序

内层循环完毕本轮之后,回到外层检测外层的循环是否满足跳出条件

如果满足,则跳出整轮循环,否则继续执行

for(var i = 1; i < 4; i++){
    console.log('外层循环第'+i+'次');
for(var j = 1; j < 4; j++){
    console.log('内层循环第'+j+'次');
  }
}