if,if else,else if的区别,以js为例
if 应用场景
//满足该条件时执行,不关心不满足的情况
var day = "雨天";
if (day == "雨天") {
console.log("下雨了,在屋子里学习")
}
- 特点:用来判断某个条件满足时的情况
if else 应用场景
// 满足该条件时执行,对不满足的情况进行对应处理
var day = "雨天"
if (day == "雨天") {
console.log("下雨了,在屋子里学习")
}else{
console.log("没下雨,出去溜达溜达")
}
- 针对本案例,雨天的处理结果是执行if语句,输出“下雨了,在屋子里学习“
- 若不是雨天,不管是冰雹狂风还是晴空万里,只要不是雨天,一律当成同一类型处理,执行else语句
- 实际上,这种处理方式有的时候是不合理的,比如冰雹,确实不是雨天,但是出去溜达也不合适,所以一个else处理起来就显得有些力不从心,这个时候就需要else if
else if 应用场景
var day = "雨天"
if (day == "雨天") {
console.log("下雨了,在屋子里学习")
} else if (day == "大冰雹") {
console.log("乖乖躺床上睡觉")
} else if (day == "晴天") {
console.log("终于晴天了,和朋友去打球")
}
- 前边一定要有if,没有的话不好使
- 针对不同情况进行不同的处理,满足哪个执行哪个
- 只要有匹配成功的,后续就不执行了
- 最后也可以再加上一个else,是否添加,看情况而定
- 如果所有条件都被罗列出来,else加不加没意义
- 如果存在其他类似处理结果,或者讲究从简,不想太过细致,也可以最后用else统一处理
关于if的嵌套
var login = true; //用户已经登录
var money = 8887; //用户账户余额
if (login) {
console.log("登录成功,祝您购物愉快")
if (money < 8888) {
console.log("抱歉,您的账户余额不足,买不起这款小裙子")
} else {
console.log("购买成功,奖励500积分")
}
} else {
console.log("系统检测到您尚未登录,请登录后购买")
}
- 通过上边的购物实例可以看出,对余额的判断依赖用户登录状态, 用户没登录,不对余额进行判断
- 像这种两个条件有依赖关系的,用嵌套
实用场景补充之if
- 表单验证,判空
var username;
var password;
if (username == "" || username == null) {
console.log("用户名为空")
}
if (password == "" || password == null) {
console.log("密码为空")
}
- 这个时候是同时检测,不能用else if ,那样的话只匹配符合条件的第一项
var username;
var password;
if (username == "" || username == null) {
console.log("用户名为空")
} else if (password == "" || password == null) {
console.log("密码为空")
}
实用场景补充之if else
- 这里就不详细写代码了,案例为登录权限的访问控制
var login = true;
if (login) {
// 做对应登录权限的事
} else {
//重定向到登录界面
}
实用场景补充之 else if
- 针对不同情况进行处理
- 注意,这里的条件只能同时匹配一个