- A+
所属分类:Web前端
一、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('请检查您的格式是否输入错误'); }