JS 循环

Posted feng-lin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS 循环相关的知识,希望对你有一定的参考价值。

介绍循环之前,首先要说一下同样很重要的if-else结构,switch-case结构

 

①if-else结构

 

if(判断条件) {

 

条件为true时执行

 

}

 

else{

 

条件为false时执行

 

}

 


②if-else-if结构(阶梯if)

if(条件一){

条件一成立

}

else if( 条件二){

条件一不成立&&条件二成立

(else-if部分可以有多个)

}

else{

条件一不成立&&条件二不成立

}


③嵌套if结构

结构写法

if(条件一){

  条件一成立

if(条件二){

 

 

}

else{

条件一成立&&条件二不成立

}

}

else{

条件一不成立

}

要注意的是
if()中的表达式,运算之后结果应该是
①boolean: true为真,false为假

②string: 非空字符串为真,空字符串为假

③null / NaN /Undefined 全为假

④object类型 全为真

⑤number: 0为假,非零为真



Switch-Case结构

1..结构写法:

switch(表达式){

  case 常量表达式1:

  语句一;

  break;

  case 表达式2:

  语句二;

  break;

.......

  default:

  语句N

}


2.注意事项:

①switch()中的表达式以及每个case后的表达式,可以为任何JS支持的数据类型(对象和数组除外)

②case后边的所有常量表达式必须各不相同,否则,只会执行第一个。

③case后的常量可以是任何数据类型;同一个switch结构的不同case,可以是多种不同的数据类型;

④switch在进行判断的时候,采用的是全等===判断

⑤break;执行完case代码后,跳出当前switch结构。

若缺少break:从正确的case项开始,依次执行所有的case和default

⑥switch结构在判断时,只会判断一次正确答案。当遇到正确的case项后,将不会再判断后续项。依次往下执行

用法示例:输入一个月份,判断属于哪个季度


技术图片

                        var mon=Number(prompt("请输入月份:")); 
            switch(parseInt((mon-1)/3)){
                case 0:
                document.write("第一季度");
                break;
                case 1:
                document.write("第er二季度");
                break;
                case 2:
                document.write("第三季度");
                break;
                case 3:
                document.write("第四季度");
                break;
            }
                        

技术图片

 


好了,下边就是要说的非常重要的循环了;首先来说一下while循环


【循环结构的步骤】

①声明循环变量

②判断循环条件

③执行循环体(while大括号中的所有代码)操作

④改变循环变量

⑤循环执行②③④

【JS中循环条件支持的数据类型】

支持JS中的所有类型

①boolean: true为真,false为假

②string: 非空字符串为真,空字符串为假

③null / NaN /Undefined 全为假

④object类型 全为真

⑤number: 0为假,非零为真

至于do-while循环:


先执行,再判断;即便条件不成立,也先执行一次。

最后来说一下最常用的 for循环


for(初始化循环变量;循环条件;修改循环变量的值){

  

}

for循环有三个表达式①定义循环变量②判断循环条件③更新循环变量,之间用分号隔开。

三个表达式可省略,但分号不可省略

特点:先判断,再执行

②for循环三个表达式均可以由多部分组成,中间用逗号分隔。但第二部分判断要用&&连接,最终结果需要为真/假

例如:

for(n=1,j=5; n<=5; n++,j--){

}

 

 

 
循环控制语句

1.break:终止本层循环,继续进行循环后边的语句。

当eak只循环有多层时,br会跳过一层循环

2.continue:跳过本次循环,继续执行下次循环

对于for循环,continue执行后,继续执行循环变量更新语句n++

对于while do-while,continue执行后,继续执行循环条件判断;所以在这两个循环中使用时,必须注意:continue一定要在n++后边使用

【循环嵌套】

外层循环转一次,内层循环转一圈

下边我们做个经典的图形题:用*打印一个菱形


技术图片

              var f,g;
            for(f=1;f<=4;f++){
                for(g=1;g<=4-f;g++){
                    document.write("&nbsp");
                }
                for(g=1;g<=2*f-1;g++){
                    document.write("*");
                }
                document.write("<br />");
            }
            for(f=4;f>0;f--){
                for(g=4-f;g>=0;g--){
                    document.write("&nbsp");
                }
                for(g=2*f-4;g>=0;g--)
                {
                    document.write("*")
                }
                document.write("<br />");
            }        
简单总结一下:
【嵌套循环特点】


外层循环控制行数,内层循环控制每行元素个数


【图形题思路】


1.确定图形一共几行,即为外层循环次数;


2.确定每行有几种元素,代表有几个内层循环;


3.每种元素有几个,即为每个内层循环的次数;(通常找出每种元素个数与行号的关系式,即为当前内层循环的最大值(从一开始))
 

以上是关于JS 循环的主要内容,如果未能解决你的问题,请参考以下文章

使用从循环内的代码片段中提取的函数避免代码冗余/计算开销

js数组遍历方法总结

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js

VSCode自定义代码片段——JS中的面向对象编程

VSCode自定义代码片段9——JS中的面向对象编程

AVKit – 视频片段仅循环 2 次