javascript 基础之 - 分支

非 false 则为 true

false 的情景:

  1. false
  2. 0
  3. null
  4. NaN
  5. undefined

其余的则都为 true

if else 系
  • if , 如果括号内条件为真 , 则执行相关代码, 否则跳过
var 
if(true){
    console.log('执行');
}
  • if else

主要用于两分情景, if 条件和 else 的条件为互斥

// 要么及格, 要么不及格
var a = 80 ;
if(a>=60){
    console.log('及格')
}
else{
    console.log('不及格')
}
  • if … else if … else

将情景分成 n 份 , 份数较多, 用 swtich case 较好.

// 0-59 不及格 60-80 良好 80-100 优秀
var a = 80
if(a>=0 && a<60){
    console.log('不及格')
}
else if(a>=60 && a<80){
    console.log('良好')
}
else if(a>=80 && a<=100){
    console.log('优秀')
}
else{
    console.log('分数不合理')
}
switch case 系

default 外每个分支都需要加 break 直接退出判断

三元分支
var a = 80
var result = a>=60? '及格': '不及格'
|| 短路分支

只有前者是 false 才会执行后面的语句

function test(a){
    if(a){
        a = a
    }
    else{
        a = 1
    }
}

// 等价
function test2(a){
    a = a || 1;
}
分支变式

可以看出在函数体内的 swtich case , 也可以通过 return 退出分支判断, 不需 break ;

// 比如根据状态码判断状态
// 1.常规
function getStatus(statusCode){
    switch (statusCode) {
        case 200:
            return '成功'
        case 404:
            return '未找到'
        case 405:
            return '方法不允许'
        default:
            return '未知状态码'
    }
}

// 2.索引式
var httpStatus = {
    200:'成功',
    404:'未找到',
    405:'方法不允许'
}
function getStatus2(statusCode){
    return httpStatus[statusCode] || '未知状态码';
}
实践心得
  • 优先正向判断
var a = 80
// do
if(a>=60){
    conosle.log('及格')
}

// do not do
if(!a<60){
    console.log('及格')
}
  • 建议避免 if else 过长, 可适当拆分成更小的单元再分支
// 比如上面的分数例子可以这样
var a = 80;
if(a<60){
    console.log('不及格')
}
else{
    if(a<80){
        console.log('良好')
    }
    else{
        console.log('优秀')
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值