与或非的总结和几种好用的赋值

1、||(逻辑或)
    1.只要 ‘||’ 前面为false,不管 ‘||’ 后面的是true还是false,都返回 ‘||’ 后面的值

        例如:console.log( '' || 1)   //返回的是1      注:在js逻辑运算中,-0、0、”“、null、false、undefined、NaN都会判为false

                   console.log( null || 0)   //返回的是0

    2.只要 ‘||’ 前面为true,不管 ‘||’ 后面的是true还是false,都返回 ‘||’ 前面的值

          例如:console.log( 'hello' || 0)   //返回的是hello    

                   console.log( 'hello'|| 1)   //返回的是'hello'

1、&&(逻辑与)

    1.只要“&&”前面是false,无论“&&”后面是true还是false,结果都将返“&&”前面的值;

        例如:console.log( 0 && ‘abc’)   //返回的是0    

                console.log( && null)   //返回的是0

    2.只要“&&”前面是true,无论“&&”后面是true还是false,结果都将返“&&”后面的值;

         例如:console.log(  ‘abc’ && null)   //返回的是null   

                console.log(  ‘abc’ && 2)   //返回的是2

实际中的运用

    需求:当num值为0的时候,txt的值为起步,当num值为1的时候,txt的值为第一步

              当num值为2的时候,txt的值为第二步,当num为其它的时候,txt的值为结束

   let num = 0; 

    let txt = ''

     第一种方法:

                if (num === 0 ) {
             txt = '起步'
} else if (num === 1) {
txt = '第一步'
} else if (num === 2) {
txt = '第二步'
} else {
txt = '结束'

}

    第二种方法:

            switch (num) {
case  0:
 txt = '起步'
break
case  1:
txt = '第一步'
break
case  2:
txt = '第二步'
break
default :
txt = '结束'
break
    }


    第三种方法:使用与或非的方法

            let txt = (num === 0 && '起步') || (num === 1 && '第一步') ||
   (num === 2 && '第二步')  || '结束'

    第四种方法:        

            let txt = num === 0 ? '起步' : num === 0 ? '第一步' : 
          this.val === 0 ? '第二步' : '结束'

    第五种方法

            let txt = {'0': '起步', '1': '第一步', '2': '第二步'}[num] || '结束'


以上五种方法,第一种和第二种可读性强,后面几种简洁

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值