第五节:JS中的逻辑运算符-逻辑与&&逻辑或||

1、逻辑与&&,只有两个操作数均为true,记过才返回true

true && true; //true
true && false; //false
false && true; //false
//正常使用中,不会直接比较两个布尔值,常用于if语句中
var a=1,b=2;
a==1 && b==2; //true, 如果a==1 并且 b==2时才返回true
a==1 && b==3; //false

短路原则:如果第一个值为假,第二个操作数将不会再运行

var a=1,b;
(a==1) && (b=2);//结果:2 ,第一个操作数为true,所以执行第二个操作数,b被赋值 a:1,b:2
var c=1,d;
c==2 && (d=3); //结果:false,第一个操作数为false,所以第二个操作数不执行,返回false,d未被赋值  c:1,d:undefined

//几个false值的短路
null && 'ac'; //null
undefined && 123; //undefined
0 && 123; //0
-0 && 12; //-0
NaN && 123; //NaN
"" && 123; //''

null,undefined,0,-0,NaN,""这六个值无论&&后面是什么都返回他们自己本身,因为这6个值转为Boolean均为false

2、逻辑或:||(只要有一个为真就为真,两个均为假结果才为假)

var a=1,b;
(a==1) || (b=2); //结果:true,a:1,b:undefined

如果逻辑与和逻辑非混合运用就相当于 三目运算符 的使用

null && '123' || 'abc'; //'abc'
true && '123' || 'abc'; //'123'

除了上面介绍的逻辑与,逻辑或,逻辑运算符还有一个叫逻辑非(!),次运算符为一元运算符,拥有最高运算级;除了上面几个逻辑运算还有一个特殊运算符,三目运算符 a ? b : c (如果a为true则则执行b表达式,否则执行c表达式)
几个运算符的优先级: 逻辑非 》 逻辑与 》逻辑或 》三目运算

null ? '123' : 'abc'; //'abc'
true ? '123' : 'abc'; //'123'

备注:本内容学习总结来源于喜马拉雅冰山工作室沙翼老师主讲的(陪你读书(JavaScript WEB前端))

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值