JavaScript的流程语句

算术运算符小补充:

1.自增运算符:++

“++”是自增运算符,它指的是在原来值的基础上加1,i++表示“i=i+1”。该运算符有2种情况:(1)i++ :“i++”指的是在使用i之后,使i的值加1。

(2)++i :“++i”指的是在使用i之前,先使i的值加1。

案例 

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<script>
			
			var a=2;
			var sum=0;
			a++: 表示的是a=a+1  先赋值后运算
			++a: 表示的是a=a+1  先运算后赋值
//			sum=a++ + ++a  结果为:  sum=?  a=?
//			a-->3 --->4
//			sum=2 + 4=6
			
			sum=++a + a++ + a++  + ++a
//			a=6-->7
//			sum=16-->16
//			a=3-->4-->5-->6
//			sum=3 + 3 + 4 + 6=16 

			var a1=2,b1=3;
			sum=a1++ - ++b1 + b1++ - ++a1;
//			a1=3-->4
//			b1=4-->5
//			sum=2 - 4 +  4 - 4 = -2 
		
		</script>
	</head>
	<body>
		
	</body>
</html>

2.自减运算符:--

“--”是自减运算符,它指的是在原来值的基础上减1,i-- 表示“i=i-1”。该运算符同样有2种情况:(1)i-- :“i--”指的是在使用i之后,使i的值减1。

(2)--i:“--i”指的是在使用i之前,先使i的值减1。

案例:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		
		<script type="text/javascript">		
//			自减分为两种情况:
//			a-- : 表示先赋值后运算
//			--a : 表示先运算后赋值
			//sum=a++ + --b - --a  + a-- + b-- + ++b;
//			a=? 
//			b=? 
//			sum=? 
//			a=3 -->2 -->1
//			b=2 -->1-->2
//			sum=2 + 2 - 2 + 2 +  2 + 2=8

			alert(sum);
//			alert(a);
//			alert(b);
			
			
			
		</script>
	</head>
	<body>
	</body>
</html>

一.JavaScript流程语句
JavaScript对程序流程的控制跟其他编程语言是一样的,主要有3种:
(1)顺序结构
(2)选择结构
(3)循环结构
1. 顺序结构
顺序结构是JavaScript中最基本的结构,说白了就是按照从上到下、从左到右的顺序执行。

   

2. 选择结构
选择结构是按照给定的逻辑条件来决定执行的顺序,有单向选择、双向选择和多向选择之分,但是程序在执行过程中都只是执行其中的一条分支。

上图中的左边是“单向选择结构”,右边是“双向选择结构”

对于选择结构,我们至少要掌握一下几种方法,
(1)if语句;
(2)if……else语句;
(3)if……else if……语句;
(4)if语句的嵌套;
(5)switch语句;

(1) 单向选择语句结构

if(条件){语句体}

案例

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
			
//			单向选择语句结构:
//			if(条件){语句体}
			if(true){  //判断条件为真,执行花括号中语句
//				alert('条件为真');
			}
//			if(false){  //条件为假时,执行if之后的程序
//				alert('条件为假');
//			}
//			document.write('条件为假时,执行if之后的程序');
			
//			第二种写法: 前提条件,语句体重是单一的.
//			if(3>0)
//			document.write('条件为真');
//			document.write('条件为假');
//			注: 根据语法规则 添加花括号是必须的

//			if(0>3){ 
//				document.write('条件为真');
//			}
//			document.write('条件为假');
			
//			var a=3,b=5;
//			if(a<10 && b>6){
//				document.write('条件为真');
//			}
//			
//			if(a<10 || b>6){  //一真 一假  为真
//				document.write('条件为真');
//			}
			
			
		</script>
	</head>
	<body>
	</body>
</html>

(2)双向选择语句结构

if(条件){执行体}else{执行体}

案例

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
//			if(true){
//				document.write('tiaojian为真');
//			}else{
//				document.write('条件为假');
//			}

			var num1=5,num2=4;
			if(num1*num2>20){
				document.write('条件成立');
			}else{
				document.write('条件不成立');
			}
			var a=4; var b=2;
			if(a!=b){  //条件结果为true
				document.write('a不等于b');
			}else{
				document.write('等于');
			}
			
		</script>
	</head>
	<body>
	</body>
</html>

(3)多向选择语句结构
            if(条件1){
                语句1
            }else if(条件2){
                语句2
            }else if(条件3){
                语句3

            }else{           

               当以上条件都不满足时,则执行的语句体
           }

注:if..else if    如果前一个条件为真时,后面的将不会再执行

案例

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
//			var strCore=prompt('请输入成绩:',0);
			alert(typeof strCore);
//			if(strCore>60 && strCore<=80){
//				document.write('及格');
//			}else if(strCore>80 && strCore<=90){
//				document.write('还不错哦');
//			}else if(strCore>90 && strCore<=100){
//				document.write('你棒棒滴');
//			}else{
//				document.write('你考的成绩不在范围内');
//			}
			
			//根据用户输入的成绩的等级A,B,C,D来查询成绩等级所属的范围
			var mess=prompt('请输入成绩等级','A');
			if(mess=='A'){  //判断两个值是否相等
				document.write('90-100之间');
			}else if(mess=='B'){
				document.write('60-90之间');
			}else{
				document.write('没有你输入的等级');
			}
			
		</script>
	</head>
	<body>
	</body>
</html>

(4)选择语句嵌套

案例

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	<script type="text/javascript">
           var maths=29; var chinese=99;
           if(maths>60){  //条件不成立,不会执行语句体
//				if(chinese<100){
//					document.write('还可以');
//				}
//			}
           if(maths<60){
           	 if(chinese>100){
           	 	document.write('条件为真');
           	 }
           	 document.write('条件为假');
           }
          if(maths<60){
          	 if(chinese<100){
           	 	document.write('条件为真');
           	 }
          	document.write('条件为假')
          }
        	
		</script>
		</script>
	</head>
	<body>
	</body>
</html>

 

案例:24小时制,但是在中午14点的时候,告诉用户是下午一点.

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
			var time=new Date();
			var hours=time.getHours();
//			alert(time);
            if(hours>6 && hours<=12){
            	document.write('您好,现在是'+hours+'点了');
            }else if(hours>12 && hours<18){
            	document.write('您好,'+(hours-12)+'点了');
            }else if(hours>=18 && hours<24){
            	document.write('您好,现在是'+(hours-12)+'点了');
            }		
		</script>
		</script>
	</head>
	<body>
	</body>
</html>

(5)switch语句结构

switch(值){
                case:
                break;    //当条件满足时,添加break退出整个选择语句,不会在执行之后的程序
                default:    // 当以上条件都不满足时,执行的语句体;可有可无,但是写它是规范.
                break;
            }

案例1:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
    		var num1=0;
			switch (num1){
				case 60:
					document.write('成绩为60分');
    				break;  
				case 70:
					document.write('成绩为70分');
					break;
				case 80:
					document.write('成绩为80分');
    				break;
				default:   
					document.write('成绩不在范围内');
					break;
			}		
		</script>
	</head>
	<body>
	</body>
</html>

案例2:

            var num1=73;
			switch (num1>0){
				case num1>60 && num1<=70:
					document.write('成绩优异');
					break; 
				case num1>70 && num1<=80:
					document.write('成绩良好');
					break;
				case 80:
					document.write('成绩为80分');
					break;
				default:  
					document.write('成绩不在范围内');
					break;
			}

3.循环结构
循环结构即根据代码的逻辑条件来判断是否重复执行某一段程序。若逻辑条件为true,则进入循环重复执行;若逻辑条件为false,则退出循环。

循环结构语句主要包括3种:
(1)while语句;
(2)do……while语句;
(3)for语句;

a. while语句
while语句是条件判断语句,也是循环语句。

while (逻辑条件){   //小括号中写逻辑条件,这个条件作为最终退出循环的条件
             循环体
         }

案例1:输出5~10之间的数字

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">			
			var num1=5;		
			while(num1<10){  //判断条件为真, 开始执行循环体
				num1++;  //num1=num1+1
				if(num1==10){
					break;  
				}
				document.write(num1);
			}
		</script>
		</script>
	</head>
	<body>
	</body>
</html>

案例2:输出1-100之间的偶数

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	<script type="text/javascript">
			var num2=0;
			while (num2<=100){
				num2++;
//				第一种方式输出1-100之间的偶数
//				num2+=2;
//				document.write(num2+'<br />');
//				第二种方式输出1-100之间的偶数
				if(num2%2==0){
					document.write(num2+'<br />');
				}
			}
		</script>
	</head>
	<body>
	</body>
</html>

			

使用while语句要注意以下几点:
(1)应该使用大括号“{}”包含多条语句,即使是一条语句也最好使用大括号;
(2)在循环体中应该包含使得循环可以退出的语句,比如上面的“num++”。对于循环体,要是没有条件,循环就会无休止地运作下去,变成一个“死循环”,从而可能导致浏览器崩溃;

b. do…while语句
“do…while语句”跟while语句是非常类似的,唯一的区别在于:while语句先判断是否符合条件,然后再执行循环体语句;do…while语句先执行循环体语句一次,然后再判断是否符合条件

结构:do{
              循环体
           }while(最终退出循环的条件)
            
        注;  对于do....while循环,首先程序执行的是循环体中代码块,其次才判断 while的条件,do...while: 条件不成立时,都会执行一次循环体,

案例

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript">
			var num1=5;
			do{
				num1++;
				if(num1==10){
					break;
				}
				document.write(num1);
			}while(num1>10) 
		</script>
	</head>
	<body>
	</body>
</html>

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值