JavaScript流程控制语句详解:条件判断与循环结构

作者:闭包旅人

时间:2026-10-30

浏览:318

本文系统梳理JavaScript中的流程控制语句,涵盖if条件判断、switch多分支选择、for/while/do-while循环结构以及break和continue控制符。通过代码示例解析语法与执行逻辑,帮助开发者掌握程序流程控制的核心技巧。

文章目录

条件判断:if与if...else语句

1、条件判断(if语句) if语句用于在特定条件成立时执行相应的代码块。 语法:


 if(条件){
   条件成立时执行代码
 }

示例:假设你应聘Web前端开发岗位,若掌握HTML技术,则面试通过并欢迎加入公司。


<script type="text/javascript">
   var mycarrer = "HTML";
   if (mycarrer == "HTML"){
     document.write("你面试成功,欢迎加入公司。");
   }
 </script>

2、二选一(if...else语句)

if...else语句在指定条件成立时执行代码,若条件不成立则执行else后的代码。 语法:


 if(条件){
   条件成立时执行的代码
 }else{
   条件不成立时执行的代码
 }

示例:假设你应聘Web前端开发岗位,若掌握HTML技术,则面试通过并欢迎加入公司;否则面试未通过,无法加入公司。


<script type="text/javascript">
   var mycarrer = "HTML"; //mycarrer变量存储技能
   if (mycarrer == "HTML"){
     document.write("你面试成功,欢迎加入公司。"); 
   }else{
     //否则,技能不是HTML
     document.write("你面试不成功,不能加入公司。");
   }
 </script>

多重判断:if...else嵌套语句

3、多重判断(if...else嵌套语句) 当需要在多组语句中选择一组执行时,使用if...else嵌套语句。 语法:


 if(条件1)
 { 条件1成立时执行的代码}
 else if(条件2)
 { 条件2成立时执行的代码}
 ...
 else if(条件n)
 { 条件n成立时执行的代码}
 else
 { 条件1、2至n不成立时执行的代码}

示例:联合国世界卫生组织对年龄的划分标准为:44岁以下为青年;45岁至59岁为中年人;60岁至89岁为老年人;90岁以上为长寿老年人。赵红今年99岁,请问她属于哪个年龄阶段?


<script type="text/JavaScript">
   var myage =99;//赵红的年龄为99
   if(myage<=44){
     document.write("青年");
   }else if(myage<=59) {
     document.write("中年人");
   }else if (myage<=89){
     document.write("老年人");
   }else {
     document.write("长寿老年人");
   }
 </script>

多分支选择:Switch语句

4、多种选择(Switch语句) 当选项较多时,switch语句比if...else使用更方便。 语法说明:


 switch(表达式)
 {
 case值1:
 执行代码块 1
 break;
 case值2:
 执行代码块 2
 break;
 ...
 case值n:
 执行代码块 n
 break;
 default:
 与 case值1 、 case值2...case值n 不同时执行的代码
 }

Switch语句必须赋初始值,且该值需与每个case值匹配。满足条件后执行该case后的所有语句,并使用break语句阻止执行下一个case。若所有case值均不匹配,则执行default后的语句。 示例:制定一周计划,周一、二学习理论知识,周三、四到企业实践,周五总结经验,周六、日休息和娱乐。


 <script type="text/JavaScript">
   var myweek =3;//myweek表示星期几变量
   switch(myweek){
     case 1:
     case 2:
     document.write("学习理念知识");
     break;
     case 3:
     case 4:
     document.write("到企业实践");
     break;
     case 5:
     document.write("总结经验");
     break;
     default:
     document.write("周六、日休息和娱乐");
   }
 </script>

循环结构:for、while与do...while

5、重复执行(for循环) 许多任务并非只执行一次,而是需要重复操作。例如打印10份试卷,每次打印一份,重复此动作直至完成。这类任务可通过循环语句实现,即重复执行一段代码。 for语句结构:


 for(初始化变量;循环条件;循环迭代)
 { 
   循环语句 
 }

示例:假设一个盒子里有6个球,每次取出一个,重复从盒中取球,直到球取完为止。


 <script type="text/javascript">
   var num=1;
   for (num=1;num<=6;num++){ //初始化值;循环条件;循环后条件值更新
     document.write("取出第"+num+"个球<br />");
   }
 </script>

假设我们有面值为1、2、3...10的不同钱币,使用for语句计算合计金额,看看我们一共有多少钱?


 <script type="text/JavaScript">
   var mymoney,sum=0;//mymoney变量存放不同面值,sum总计
   for(mymoney=1;mymoney<=10;mymoney++){ 
     sum= sum + mymoney;
   }
   document.write("sum合计:"+sum);
 </script>

6、反复执行(while循环) 与for循环功能相似的还有while循环,它重复执行一段代码,直到某个条件不再满足。 while语句结构:


 while(判断条件)
 {
   循环语句
 }

使用while循环完成从盒子里取球的动作,每次取一个,共6个球。


<script type="text/javascript">
   var num=0; //初始化值
   while (num<=6){ //条件判断
     document.write("取出第"+num+"个球<br />");
     num=num+1; //条件值更新
   }
 </script> 

7、至少执行一次(Do...while循环) do while结构的基本原理与while结构基本相同,但它保证循环体至少被执行一次。因为它是先执行代码,后判断条件,如果条件为真,则继续循环。 do...while语句结构:


 do
 {
   循环语句
 }
 while(判断条件)

尝试输出5个数字。


<script type="text/javascript">
   num= 1;
   do{
     document.write("数值为:" + num+"<br />");
    num++; //更新条件
   }
   while (num<=5)
 </script>

使用do...while语句,输出6个数字。


<script type="text/javascript">
   var mynum =6;//mynum初值化数值为6
   do{
     document.write("数字:"+mynum+"<br/>");
     mynum=mynum-1;
   }
  while(mynum>=1);
 </script>

循环控制:break与continue

8、退出循环break 在while、for、do...while循环中使用break语句可退出当前循环,直接执行后续代码。 格式如下:


 for(初始条件;判断条件;循环后条件值更新){
   if(特殊情况)
   {break;}
   循环代码
 }

考试成绩输出,如果成绩及格则继续输出下个成绩,如果成绩不及格,则退出循环且不再输出后续成绩。


 <script type="text/JavaScript">
   var mynum =new Array(70,80,66,90,50,100,89);//定义数组mynum并赋值
   var i=0;
   while(i<mynum.length){
     if(mynum[i]<60){
     document.write("成绩"+mynum[i]+"不及格,不用循环了"+"<br>");
     break;
     }
     document.write("成绩:"+mynum[i]+"及格,继续循环"+"<br>");
     i=i+1;
   }
 </script>

9、继续循环continue 语句结构:


 for(初始条件;判断条件;循环后条件值更新){
   if(特殊情况){
     continue;
   }
   循环代码
 }

在上述循环中,当特殊情况发生时,本次循环将被跳过,而后续循环则不受影响。 示例:考试成绩输出,如果成绩及格则继续输出下个成绩,如果成绩不及格,则不输出该成绩。


<script type="text/JavaScript">
   var mynum =new Array(70,80,66,90,50,100,89);//定义数组mynum并赋值
   var i;
   for(i=0;i<mynum.length;i++){
     if(mynum[i]<60){
       document.write("成绩不及格,不输出!"+"<br>");
       continue;
     }
     document.write("成绩:"+mynum[i]+"及格,输出!"+"<br>");
   }
 </script>

在一个大学的编程选修课班里,我们得到了一组参加该班级的学生数据,包括姓名、性别、年龄和年级。接下来,我们要利用JavaScript知识挑出其中所有是大一女生的名字。

学生信息如下:

('小A','女',21,'大一'), ('小B','男',23,'大三'),

('小C','男',24,'大四'), ('小D','女',21,'大一'),

('小E','女',22,'大四'), ('小F','男',21,'大一'),

('小G','女',22,'大二'), ('小H','女',20,'大三'),

('小I','女',20,'大一'), ('小J','男',20,'大三')


<script type="text/javascript">
  //第一步把之前的数据写成一个数组的形式,定义变量为 infos
  var infos = [
    ['小A','女',21,'大一'],
    ['小B','男',23,'大三'],
    ['小C','男',24,'大四'],
    ['小D','女',21,'大一'],
    ['小E','女',22,'大四'],
    ['小F','男',21,'大一'],
    ['小G','女',22,'大二'],
    ['小H','女',20,'大三'],
    ['小I','女',20,'大一'],
    ['小J','男',20,'大三']
  ];
  //第一次筛选,找出都是大一的信息
  var arr1 = [];
  var n = 0;
  for(var i=0;i<infos.length;i++){ 
    if( infos[i][3] == "大一" ){ 
       arr1[n] = infos[i];
       document.write(arr1[n]+"<br/>");
       n=n+1;
    } 
  }
  document.write("大一人数: "+arr1.length+"<br/>"); 
  //第二次筛选,找出都是女生的信息
  for(var i=0;i<arr1.length;i++){ 
  //这里可以用switch 
    if(arr1[i][1]=='女'){
      document.write(arr1[i][0]+"<br/>");
    }
  }
</script>

以上就是关于JavaScript流程控制语句的实例解析,希望对大家的学习有所帮助。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章