if,if else,else if的区别,以js为例


学习资源推荐 http://www.noobyard.com/article/p-wbhqriyp-gn.html

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

在这里插入图片描述
在这里插入图片描述

  • 针对不一样状况进行处理
  • 注意,这里的条件只能同时匹配一个