JavaScript条件判断if 语句

  • JavaScript条件判断if 语句已关闭评论
  • 166 次浏览
  • A+
所属分类:Web前端
摘要

一、if语句的分支分类:单分支,双分支,多分支,分支嵌套()中可以是一个值,也可以是一个表达式

一、if语句的分支

分类:单分支,双分支,多分支,分支嵌套

()中可以是一个值,也可以是一个表达式

// 单分支 if (条件表达式){    代码段 } // 双分支 if (条件表达式) {     代码段1  }else {    代码段2 } // 多分支 if (条件表达式1){     代码段1 } else if (条件表达式2){    代码段2 } else if (条件表达式3){    代码段3 }else{     代码段4 }

案例:

      //1.考驾照的年龄需要在18岁到70岁,不满足条件提示不符合         var year = parseInt(prompt('请输入您的年龄'))         if((year<18 || year>70) && year>0){             console.log('您的年龄不符合考驾照');         }
//2.公园票价,浏览器接收:老人,成人,小孩,老人提示免票,成人中性别“男”为100,“女”为80,小孩为同性别成人的半票         var gender = prompt('请输入您的性别');         var year = parseInt(prompt('请输入您的年龄'));          if(gender==='男') {             if ((year >= 0 && year < 6) || year >= 60) {                 console.log('老人儿童免票');             } else if (year > 6 && year <= 12) {                 console.log('小孩50元票价');             } else {                 console.log('成年人 票价100元');             }         }else if(gender === '女'){             if ((year >= 0 && year < 6) || year >= 60) {                 console.log('老人儿童免票');             } else if (year > 6 && year <= 12) {                 console.log('小孩50元票价');             } else {                 console.log('成年人 票价80元');             }         }else{             console.log('输入格式错误');         }

二、switch

()只能是变量或值,不能是表达式

switch (变量){   case 值1:    代码段;        break;   case 值2:    代码段;        break;   ...   default:    代码段; }

案例:

var d = new Date(); console.log(d); // 获取日期时间对象 var week = d.getDay(); // 获取星期几 switch (week) {   case 0:     console.log('星期天');     break;   case 1:      console.log('星期一');     break;   case 2:     console.log('星期二');     break;   case 3:     console.log('星期三');     break;   case 4:     console.log('星期四');     break;   case 5:     console.log('星期五');     break;   case 6:     console.log('星期六');     break; }

break必须添加,否则会继续往下执行

问题:什么时候用if,什么时候用switch

if:条件是一个范围 或者 是具体的值

switch:条件是一个具体的值

能够使用switch实现的判断,都可以使用if来实现 但是,能够使用if语句实现的判断,不一定能使用switch实现

三、switch和if 语句的合成案例

 //3.会员等级:1代表金牌会员,2是银牌会员,3是铜牌会员,4是普通会员,四种会员进店消费xxx元,其中普通会员无折扣,会员享受9折,如消费满1000元,金牌会员享受6折,银牌会员销售7折,铜牌会员享受8折。浏览器接收会员等级和消费金额,输出折后金额         var user = parseInt(prompt('请输入您的会员等级,1代表金牌会员,2是银牌会员,3是铜牌会员,非会员不需要填入此项'))         var money = parseFloat(prompt('请输入消费的金额'))         switch (user) {             case 1:                 console.log('尊敬的金牌会员');                 break;             case 2:                 console.log('尊敬的银牌会员');                 break;             case 3:                 console.log('尊敬的桐牌会员');                 break;             default:                 console.log('普通会员');         }         if (money >= 1000) {             if (user == 1) {                 console.log('会员折算后' + (money * 0.6));             } else if (user == 2) {                 console.log('会员折算后' + (money * 0.7));             } else if (user == 3) {                 console.log('会员折算后' + (money * 0.8));             }else{                 console.log('您此次消费' + money);             }             console.log('您此次消费' + money);         } else if (money >= 0 && money < 1000) {             if (user == 1 ,2,3) {                 console.log('您此次消费' + money);                 console.log('会员折算后' + (money * 0.9));             }else{                 console.log('您此次消费' + money);             }         }else{             console.log('请检查您的格式是否输入错误');         }