JavaScript条件判断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来实现
//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('请检查您的格式是否输入错误');
}