Day02——JS:流程控制语句

一、JS的代码块

JS中的代码块,只具有分组的的作用,没有其他的用途。代码块中的内容,在外部是完全可见的。

<script type="text/javascript">			
	{
		var a = 10;	
		console.log("你好");
	}
	console.log("a = "+a);
</script>

二、流程控制语句

程序都是自上向下的顺序执行的,通过流程控制语句可以改变程序执行的顺序,或者反复的执行某一段的程序。

分类:

  • 条件判断语句
  • 条件分支语句
  • 循环语句

2.1 条件判断语句(if语句)

语法一:

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

执行流程:

if语句执行时,会先对条件表达式进行求值判断,
如果值为true,则执行if后的语句
如果值为false,则不执行

语法二:

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

执行流程:

if…else语句执行时,会对条件表达式进行求值判断,
如果值为true,则执行if后的语句;
如果值为false,则执行else后的语句

语法三:

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

执行流程:

if…else if…else语句执行时,会自上至下依次对条件表达式进行求值判断;
如果判断结果为true,则执行当前if后的语句,执行完成后语句结束。
如果判断结果为false,则继续向下判断,直到找到为true的为止。
如果所有的条件表达式都是false,则执行else后的语句

2.2 条件分支语句(switch语句)

语法:

switch(条件表达式){
			case 表达式:
				语句...
				break;
			case 表达式:
				语句...
				break;
			case 表达式:
				语句...
				break;
			default:
				语句...
				break;
		}

执行流程:
switch…case…语句在执行时,会依次将case后的表达式的值和switch后的表达式的值进行全等比较
如果比较结果为false,则继续向下比较。如果比较结果为true,则从当前case处开始向下执行代码;
如果所有的case判断结果都为false,则从default处开始执行代码。

注: switch语句和if语句的功能实际上有重复的,使用switch可以实现if的功能,同样使用if也可以实现switch的功能,所以我们使用时,可以根据自己的习惯选择

2.3 循环语句

通过循环语句可以反复执行某些语句多次。

2.3.1 while循环

语法:

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

执行流程:
while语句在执行时,会先对条件表达式进行求值判断,
如果判断结果为false,则终止循环
如果判断结果为true,则执行循环体
循环体执行完毕,继续对条件表达式进行求值判断,依此类推

2.3.2 do…while循环

语法:

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

执行流程:

do…while在执行时,会先执行do后的循环体,然后在对条件表达式进行判断,
如果判断判断结果为false,则终止循环。
如果判断结果为true,则继续执行循环体,依此类推

和while的区别:

while:先判断后执行
do…while: 先执行后判断
do...while可以确保循环体至少执行一次。

2.3.3 for循环

语法:

for(①初始化表达式 ; ②条件表达式 ; ④更新表达式){
				③语句...
			}

执行流程:

首先执行①初始化表达式,初始化一个变量,
然后对②条件表达式进行求值判断,如果为false则终止循环
如果判断结果为true,则执行③循环体
循环体执行完毕,执行④更新表达式,对变量进行更新。
更新表达式执行完毕重复②

2.3.4 死循环

while(true){

}		
for(;;){
		
}

三、break和continue

break关键字可以用来退出switch或循环语句
不能在单独的if语句中使用break和continue
break关键字,会立即终止离他最近的那个循环语句

示例:

<script type="text/javascript">
for(var i=0 ; i<5 ; i++){
		console.log(i);
		if(i == 2){
			break;
		}		
	}	
</script>

可以为循环语句创建一个label,来标识当前的循环, label:循环语句。
使用break语句时,可以在break后跟着一个label,这样break将会结束指定的循环,而不是最近的。

示例:

        outer:
		for(var i=0 ; i<5 ; i++){
			console.log("@外层循环"+i)
			for(var j=0 ; j<5; j++){
				break outer;
				console.log("内层循环:"+j);
			}
		}

continue关键字可以用来跳过当次循环
同样continue也是默认只会对离他最近的循环循环起作用

示例:

outer:
	for(var i=0 ; i<5 ; i++){			
		for(var j=0 ; j<5 ; j++){
			continue outer;		
			console.log("-->"+j);
		}	
    console.log("@--->"+i);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值