js新手入门06-分支结构

184 阅读3分钟

1.if语句:主要的作用还是判断。

	形式:if(表达式){
    		代码块
    	}
    执行过程:判断表达式的结果,为true就执行代码块。
    

2.if-else语句:2个分支,执行一个

	形式;if(表达式){
			代码块1;
		}else {
        	代码块2;
		}	
        
   //练习题;判断一个数是奇数还是偶数
   	var age = parseInt(prompt("请输入"));
		if(age%2){
        		console.log("这是奇数");
		}else{
        		console.log("这是偶数");
          }

3.三元表示式:2个分支只执行一个

语法:  var 变量 = 判断条件 ?表达式1:表达式2

执行过程:如果条件的结果返回的是true,执行表达式1,反之为false,执行表达式2,执行完之后,把结果赋值给变量。

  练习题://判断年纪是否成年
 	var age = parseInt(prompt("请输入年纪"));     //prompt接收的是字符串,其实还要判断是否为NaN,不过这有3个分支了
        var result = age>17? "已成年":"未成年"; //
        console.log(result);  

4.if -else if-else...语句

语法: if(判断 条件1){
		}else if (判断 条件1){
			条件1成立执行的代码块1;
		}else if (判断 条件2){
			条件2成立执行的代码块2;
		}...else{
			 以上条件都不成立所执行的代码块;
        	}
  //练习题1:分数转换,通过分数判断等级:
	var score = Number(prompt("请输入分数")); //通过prompt进来的都是字符串,所以只需要考虑不是数字和空字符串的情况。其他例如null,undefined的情况就不用考虑了。
        if(!isNaN(score) && score != ""){  //不是纯数字转换成数字,会显示NaN。空字符串会转换为0;
            if (score > 89) {                 
                console.log("A级");
            } else if(score>79) {
                console.log("B级");
            }else if(score>69){
                console.log("C级");
            }else if(score>59){
                console.log("D级");
            }else{
                console.log("E级");
            }
        }else{
            console.log("请输入数字");
        }
  //练习题: //判断一个年份是闰年还是平年
	    //闰年:普通年能被4整除,但不能被100整除的年份 或者 世纪年(就是整百年)能被400整除的年份  
         var years = parseInt(prompt("请输入年份"));
        	if(!isNaN(years)){
            		if(years%4==0 && years%100!=0 || years%400 == 0){
                    		console.log(years+"是闰年");
            		}else{
                   		 console.log(years+"是平年");
           	 }
       		 }else{
            		console.log("请输入年份")
        			}  

5、switch-case语句

	语法:
			switch(标准值){
				  case1:
				判断的值和值1相等,就执行的代码块1break;     //跳出整个语句
				 case2:
				判断的值和值2相等,就执行的代码块1break;  
                  		...
				default:都不相等的代码块;
				}
			注意:比较值的时候,是很严格的,必须要数据和数据类型同时相同才行。

	//判断等级在哪个分数区间
    	var level = "A";
        switch(level){
            case "A":
                console.log("在100到90之间");
            break;
            case "B":
                console.log("在90到80之间");
            break;
            case "C":
                console.log("在80到70之间");
            break;
            case "D":
                console.log("在70到60之间");
            break;
            default:
            console.log("在60以下");
        }

6.总结: 1.if语句只有一个分支;
2.if -else 语句:2个分支;
3.if-else if-else: 多个分支,最终只会执行一个;
4.switch-case语句:多个分支,最终只会执行一个;
2个多支语句的区别:if可以判断一个范围:所以一般对范围的判断,用if系列; 对具体的值的判断:用switch。