首页 > 技术文章 > JavaScript中的for循环语句

karl-kidd 2020-03-14 22:50 原文

一、for循环:
for循环是最广泛的循环形式,适用于已知循环次数,循环嵌套情况。

1 for( var i = 2; i <= 100 ; i += 2 ){
2 console.log(`${i}是偶数`);
3 }
4 for( 定义循环变量的初始值 ; 判断进入条件 ; 步长 ){
5 循环体 
6 }

for循环的优点之一,是将与循环变量和循环次数相关的设定,都定义在()中,设定内容更加集中,不容易造成语法形式混乱;执行顺序:定义循环变量的初始值,判断进入条件,循环体,步长,仍然是先执行循环体,再执行步长

例:计算 1-100的所有整数的和

1 var res = 0;
2 for(var i = 1 ; i <= 100 ; i++){
3 console.log(i);
4 res += i;
5 }

例:判断一个数是质数还是合数

 1 //生成一个随机数
 2 var num = parseInt(Math.random()*(200+1-100) + 100);
 3 // 定义一个变量,来存储判断的结果
 4 var res = true;
 5 // 循环,生成的整数是2至判断数值减1的所有整数
 6 for(var i = 2 ; i <= num-1 ; i++){
 7 // 执行判断
 8 // 如果 数值与循环变量发生整除,证明数值此时就是合数
 9 if( num % i == 0){
10 // 给存储判断结果的变量,赋值新的数据,覆盖之前的默认值
11 res = false;
12 // 一旦发生整除,其他循环就可以终止了
13 break;
14 }
15 // 当循环结束了,判断 res变量中存储的是不是默认值
16 if(res == true){
17 // 如果是默认值,证明是质数
18 console.log(`${num}是质数`);
19 }else{
20 // 如果不是默认值,证明是合数
21 console.log(`${num}是合数`);
22 }

二、break和continue:
1 , break终止循环
条件不满足是,终止当前循环,以及终止之后的一切循环

1 for(var i = 1 ; i <= 10 ; i++){
2 if( i == 5){
3 continue;
4 }
5 console.log(i);
6 }

2 , continue 跳出循环

 1 // 输出 1 - 100 的 偶数
 2 
 3 for(var i = 1 ; i <= 100 ; i++){
 4     // 需要输出偶数,也就是如果是奇数,就跳出循环不输出
 5     if( i % 2 != 0 ){
 6          continue;
 7     }
 8     console.log(i);
 9 }
10 //程序会跳过继续符合条件的继续执行下一步操作    

终止当前循环continue关键词之后,程序的执行,但是会继续之后的循环,只终止当前循环的循环体的执行,循环

三、循环的嵌套:就是 for(){} 的循环体,也包含 for循环

1 for (var j = 1; j <= 5; j++) {
2         for (var i = 1; i <= 5; i++) {
3             console.log(`i是${i} , j是${j}`);
4         }
5         console.log('')
6     }//其中for包含的for就是嵌套部分

执行顺序:先执行外层,然后执行内层;再循环外层,再内层....
经典案例:九九乘法表

 1 <script>
 2     //主循环
 3     for (var j = 1; j <= 9; j++) {
 4         //每一步循环
 5         for (var i = 1; i <= j; i++) {
 6             //输出结果
 7             document.write(`${i}*${j}=${i * j} `);
 8     }
 9     document.write('<br>');
10 </script>

推荐阅读