欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

流程控制语句

程序员文章站 2022-04-10 09:50:02
流程控制语句Js中的程序是从上到下一行行执行的通过流程控制语句可以控制程序执行流程,使程序可以根据一定的条件来选择执行语句的分类:1、条件判断语句2、条件分支语句3、循环语句条件判断语句使条件判断语句可以在执行某个语句之前进行判断,如果条件成立才会执行语句,条件不成立则语句不执行。if语句语法一:​ if(条件表达式) {​...

流程控制语句

  • Js中的程序是从上到下一行行执行的
  • 通过流程控制语句可以控制程序执行流程,使程序可以根据一定的条件来选择执行
  • 语句的分类:
    • 1、条件判断语句
    • 2、条件分支语句
    • 3、循环语句
条件判断语句

使条件判断语句可以在执行某个语句之前进行判断,如果条件成立才会执行语句,条件不成立则语句不执行。

if语句
  • 语法一:

​ if(条件表达式) {

​ 语句…

​ }

  • if语句在执行时会先对条件表达式进行求值判断,如果条件表达式的值为true,则执行if后的语句。如果条件表达式的值为false则不会执行if后的语句
  • if语句只能控制紧随其后的语句,如果希望if语句控制多个语句可以将这些语句统一放到代码块里面
  • if后的一条语句时不需要加代码块,但是在开发中尽量写上代码块,即使if后面只有一条语句,结构更清楚
if(true) 
    alert("你猜我出来吗?");//执行弹出文字


if(false) 
    alert("你猜我出来吗?");//不执行

var a = 10;
if(a > 10)
    alert("a比10大");//不执行

var a = 11;
if(a > 10)
    alert("a比10大");//执行

var a = 10;
if(a > 10)
    alert("a比10大");//不执行
    alert("管不到我!");//执行

var a = 10;
if(a > 10){
    alert("a比10大");//不执行
    alert("管不到我!");//不执行
}

var a = 15;
if(a > 10 && a<= 20)
    alert("a比10大且a小于20");//不执行
  • 语法二:

​ if(条件表达式) {

​ 语句…

​ }else{

​ 语句…

​ }

  • 当该语句执行时会对if后的条件表达式进行求值判断,如果为true则执行if后的语句,如果值为false则执行else后的语句
var a = 50;
if(a>60){
    console.log("你已经退休了");
}else{
    console.log("你还没退休");
}
  • 语法三:
if(条件表达式) {                                                                             语句......
          }else if(条件表达式){
    语句......
          }else if(条件表达式){
    语句......
          }else
  • 当该语句执行时会从上到下依次对条件表达式进行求值判断,如果值为true则执行当前语句,如果值为false则继续向下,如果条件都不满足则执行最后的else语句
  • 该语句中只会有一个代码块被执行,一但代码块被执行了,则直接结束语句
var a = 50;
if(a > 100){
    console.log("活着挺没意思");
}else if(a > 80){
    console.log("你也老大不小了");
}else if(a > 60){
    console.log("你该退休了")
}else if(a > 40){
    console.log("你已经中年了")
}else if(a > 18){
    console.log("你已经成年了")
}else{
    console.log("你还是个小孩")
}

条件分支语句

条件分支语句也叫作switch语句

  • switch语句语法
switch(条件表达式){
    case 表达式:
        语句...
        break;
    case 表达式:
        语句...
        break;
    case 表达式:
        语句...
        break;
    default:
        语句...
        break;
       }
  • 执行流程

  • switch…case…语句在执行时依次将case后的表达式的值和switch后的条件表达式的值进行全等比较

  • 如果比较结果为true,则从当前case处开始执行代码,当前case后的所有代码都会执行,所以语句后面需要break;这样可以确保只执行当前case后的语句,而不会执行其他的case

  • 如果比较结果为false,则继续向下比较。

  • 如果所有的比较结果都为false则执行default后面的语句

var a = 1;
switch(a){
    case 1:
        console.log("壹")
        break;
    case 2:
        console.log("贰")
        break;
    case 3:
        console.log("叁")
        break;
    default:
        console.log("非法数字")
        break;
}

var a = 1;
switch(true){
    case a >= 60:
        console.log("及格")
        break;
    default:
        console.log("不合格")
        break;
}
循环语句

通过循环语句可以反复执行一段代码多次

while循环
  • 语法:
while(条件表达式){
      语句...;
      }
  • while语句在执行时,先对条件表达式进行求值判断,如果值是true,则执行循环体,循环体执行完毕后,继续对表达式进行判断,如果为true则继续执行循环体,循环此操作…直到条件表达式判断为false则停止循环
var n = 1;
while(true){
    alert(n++);
}//不停的弹出自增的数字;这样的叫做死循环,该循环不会停止除非关闭浏览器,开发慎用
  • 可以用break跳出循环
var n = 1;
while(true){
    alert(n++);
    if(n>10){
        break;//跳出循环
    }
}
  • 创建一个循环,往往需要三个步骤
//1、初始化一个变量
var i = 0;
//2、在循环中设置一个条件表达式
while(i < 10){
    alert(1);
}
//3、定义一个更新表达式,每次更新初始化变量
while(i < 10){
    alert(i);
    i++;
}
do…while循环
  • 语法:
do{
    语句...}while(条件表达式)
  • 执行流程:

do…while语句在执行时,会先执行循环体,循环体执行完以后,在对while后面的条件表达式进行判断,如果结果为true则继续执行循环体,如果结果为false则终止循环

  • 实际上这两个语句相似,不同的是while是先判断再执行,do…while是先执行再判断(do…while可以保证循环体至少执行一次)
for循环

在for循环中,为我们提供了专门的位置来放三个表达式:

1、初始化表达式

2、条件表达式

3、更新表达式

  • 语法:
for(初始化表达式;条件表达式;更新表达式){
    语句...
     }
    
for(var i = 0 ; i < 10 ; i++){
    alert(i);
}
  • 执行流程

1.执行初始化表达式,初始化变量。(初始化表达式只能执行一次)

2.执行条件表达式,判断是否执行循环,如果为true则执行循环,如果为false则终止循环。

3.执行更新表达式,更新表达式执行完毕继续重复第二步

  • for循环中的三个部分都可以省略,也可以写在外部
var i = 0;
for(;i<10;){
    alert(i++);
}//循环输出10次


for(;;){
    "hello"
}//死循环输出hello
终止
break
  • break关键字可以用来退出switch或循环语句(不能在裸if语句中使用)
  • break关键字会立即终止离他最近的那个循环语句

for(var i=0 ; i<10 ; i++){
    document.write(i);
    break;
}

for(var i=0 ; i<10 ; i++){
    document.write(i);
    if(i>5){
        break;//此时break作用于外部的for
    }
}
  • 可以为外循环创建一个label,来标识当前的循环 label:循环语句
  • 使用break语句时,可以在break后跟着一个label,这样break将会结束指定的循环,而不是最近的
outer:
for(var i=0 ; i<10 ; i++){
    document.write(@i);
    for(var j=0 ; j<10 ; j++){
        document.write(i);
        break outer;//直接结束外部循环
    }    
}
continue
  • continue关键字可以跳过当次循环
  • continue只能用于循环语句
  • 同样continue也是默认对离他最近的循环起作用
for(var i=0 ; i<10 ; i++){
    document.write(i);
    if(i == 5){
        continue;//输出了除了5的小于10的正整数(跳过了i=5的本次循环)
    }
}

本文地址:https://blog.csdn.net/xing_kai_kai/article/details/107264900