韩顺平 javascript教学视频_学习笔记5_js三大流程控制(顺序流程、分支控制、循环控制)

js基本语法——三大流程控制

  • 顺序控制

  • 分支控制

          让程序有选择的执行,分支控制有三种
         1.  单分支
         2.  双分支
         3.  多分支

单分支 if 语句
if(条件表达式){
   语句;
}
双分支 if else 语句
if(条件表达式){
语句;
}else{
语句;
}
多分支 if else if else ..... 语句
if(条件表达式1){
//执行
}else if(条件表达式2){
//执行
}else if…{ //可以有多个else if
}
else{ //可以没有
}

多分支 switch 语句


switch(条件表达式){

case 常量1:

    语句; break;

case 常量2:

    语句; break;

case 常量n:

    语句; break;

default:

    语句; break;

    }

注意:case有几个都行,default可以没有。当case1~n都不满足的时候,则default。default并不一定要在最后。

  • 循环控制

for循环

for(循环初值;循环条件;步长){

语句; //循环体

}


while循环

while(循环条件){

语句; //循环体

}


do while循环

do{

}while(循环条件);


特别说明:while循环是先判断再执行语句,do while循环是先执行,再判断。


好好看一下下面的代码:

<html>  
	<head>  
		<script language="javascript">  
		
			var a=890;  
			switch(a){  
				case 890:  
					window.alert("这是890");  
					break; //break 作用是跳出整个switch语句
				case 90:  
					window.alert("这是90");  
					break;  
				case 890:  
					window.alert("没有匹配的值");  
					break;  
				}  
			
			
			//当break语句没有的时候,会接着向下执行,直到碰到第二个break
			var a=890;  
			switch(a){  
				case 890:  
					window.alert("这又是890"); 
					//这里没有break语句,执行下一句 case 
				case 90:  
					window.alert("这是90"); 
					break;  
				case 890:  
					window.alert("没有匹配的值");  
					break;  
			}  
			
			
			// 下面这个会出现什么提示?
			//会弹出三个对话框,因为1没有任何匹配就进入了default,执行window.alert("默认");
			//又因为没有break,就接着执行window.alert("今天是星期一");
			//又因为没有break,就再执行window.alert("今天是星期二");  
			var flag=1;  
			switch(flag){  
				default:  
				window.alert("默认");  
				case 'a':  
				window.alert("今天是星期一");  
				case 'b':  
				window.alert("今天是星期二");  
			}  
			
			
			//下面的这个又会提示什么呢?
			//1.1有匹配了,只显示1.1,然后语句结束。  
			var flag=1.1;  
			switch(flag){  
				default:  
				window.alert("默认1.1");  
				case 'a':  
				window.alert("今天是星期一1.1");  
				case 'b':  
				window.alert("今天是星期二1.1");  
				case 1.1:  
				window.alert("1.1");  
			}  
			
			
			//对上面的程序再深一步,下面的这个又会提示什么呢?
			//1.2有匹配了,先显示1.2,没有遇到break,就继续执行window.alert("今天是星期二1.2");
			//还是没有遇到break,再执行window.alert("默认1.2");
			//程序结束。  
			var flag=1.2;  
			switch(flag){  
				case 'a':  
				window.alert("今天是星期一1.2");  
				case 1.2:  
				window.alert("1.2");  
				case 'b':  
				window.alert("今天是星期二1.2");  
				default:  
				window.alert("默认1.2");  
			}  
		</script>  
	</head>  
	<body></body>  
</html>  



注意:

  1. js的switch语句类型可以是js支持的任何类型(数组和对象除外)
  2. case后面的数据类型可以任意(数组和对象除外)
  3. break作用是跳出整个switch语句
  4. 如果没有匹配的则执行default后面的语句

案例:

  1. 计算1+2+......+n的值

<html>  
	<head>  
		<script language="javascript">  
			var n=window.prompt("请输入一个整数");  
			n=parseInt(n);  
  
			var res=0;  
			for(var i=0;i<=n;i++){  
				res+=i;  
			}  
			document.writeln("结果是"+res);  
		</script>  
	</head>  
	<body></body>  
</html>  


  2. 计算1!+2!+........+n!的值

<html>  
	<head>  
		<script language="javascript">  
		
			var n=window.prompt("请输入一个整数");  
			n=parseInt(n);  
  
			var res=0;  
			var temp=1;  
			for(var i=1;i<=n;i++){  
				for(var j=1;j<=i;j++){  
					temp*=j;  
				}  
				res+=temp;  
				tmep=1; 
			}  
			document.writeln("结果是"+res);  
		</script>  
	</head>  
	<body></body>  
</html>  


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值