js流程控制语句

01、代码块

用{}包围起来的代码,就是代码块。
JS中的代码块,只具有分组的作用,没有其他的用途。
代码块中的内容,在外部是完全可见的。举例:

{
 var a = 2;
 alert("132456465");
 console.log("1024")
}

console.log(a) // 输出2 可以看出,虽然变量a是定义在代码块中的,但是在外部依然可以访问

02、流程控制语句

在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。所以,我们必须清楚每条语句的执行流程。而且,很多时候我们要通过控制语句的执行顺序来实现我们要完成的功能。

流程控制语句分类

  • 顺序结构
  • 选择结构(if和switch)
  • 循环结构(while语句、for语句)

03、顺序结构

按照代码的先后顺序,依次执行。如图:

顺序结构

04、if语句

if语句有以下三种:

  1. 条件判断语句

    条件成立才执行,否则就什么都不做

    语法:

       if(条件表达式){
       //条件为true时所做的事情
       }
    
  2. 条件分支语句

    语法:

       if(条件表达式){
       //条件为true时所做的事情
       }else{
       //条件为false时所做的事情
       }
    
  3. 多分支if语句

    语法:

     //if-else if-else中也有短路现象,当满足条件1后执行完对应的操作后,后面的条件判断将不会执行
           if(条件表达式1){
         
           //条件1为true时所做的事情
           
           }else if(条件表达式2){
           
           //条件1为false 条件2为true时所做的事情
           
           }else if(条件表达式3){
           
           //条件1与条件2都为false 条件3为true时所做的事情
           
           }else{
               //条件1、2、3都为false 所做的事情
           }
    

05、switch语句(条件分支语句)

switch语句也叫条件分支语句

语法:

switch(条件表达式){
    case1:
    语句1
    break;
    
    case2:
    语句2
    break;
    
    case3:
    语句3
    break;
    ...
    
    ...
    default:
    语句n+1
    break;
}

PS:在写条件分支的时候一定要加break,不然程序就会一直执行下去,直至遇到break或结束,这种现象也叫case穿透现象,还有一种情况就是default无论放在哪里都是最后执行,与放置的位置无关

switch语句执行流程

流程图如下:

switch流程图

06、for循环语句

for循环语句,看字面意思就知道这是循环语句的一种。

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

语法:

  for(初始化表达式;条件表达式;更新表达式){
   执行的语句
  }

流程图如下:

for循环流程图

07、while循环语句

while循环

语法:

while(条件表达式){
  语句...
}

流程图如下:

while循环流程图

当然,在必要时可以使用break结束循环

do…while循环

语法:

  do{
    语句...
  }while(条件表达式)

流程图如下:

do...while循环流程图

while循环与do…while循环的区别

这两个语句的功能类似,不同的是:

  • while是先判断后执行
  • do…while是先执行后判断。

也就是说,do…while可以保证循环体至少执行一次,而while不能

08、break与continue

break

  • break可以用来退出switch语句或整个循环语句(循环语句包括for、while。 不包括if。 if里不能用break和continue ,否则会报错)。
  • break会立即终 止离它最近的那个循环语句。
  • 可以为循环语句创建一 个label ,来标识当前的循环(格式: label:循环语句)。使用break语句时,可以在break后跟着一个label ,这样break将会结束指定的循环,而不是最近的。

例子1:

//该例子在a = 12 时就会结束循环,所以输出的值为0到12
for(var a = 0; a<100; a++){
	console.log("a的值:"+a);
	if(a == 12){
		break; // 虽然这里在if里面使用了break,但不是对于if的,而是外面的for循环
	}
}

例子2(label的使用):

outer:
	for(var i = 0; i < 5; i++){
		console.log("外层for循环i的值:"+i);
		for(var j = 0; j < 5; j++){
			break outer; // 直接跳出outer所在的外层循环(这个outer是自定义的label)
			console.log("内层for循环j的值:"+j);
		}
	}

continue

  • continue可以用来跳过当次循环。
  • 同样,continue默认只会离他最近的循环起作用。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值