当前位置: 移动技术网 > IT编程>开发语言>JavaScript > 流程控制语句

流程控制语句

2020年07月11日  | 移动技术网IT编程  | 我要评论

流程控制语句

  • 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

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网