JavaScript 基础篇 - 布尔操作符

一共3个布尔操作符:非,与,或

 

1. 逻辑非 !

  用叹号!来表示逻辑非,需要一个操作数,它会先将操作数转化成布尔类型,然后求逻辑非。

  规则如下:
    对象,非0数字,非空字符串,返回false;

    0,空字符串,null,NaN,undefined,返回ture;

 

2. 逻辑与  &&

  逻辑与需要两个操作数,如果其中一个操作数不是布尔,那么返回结果不一定是布尔值。

  规则如下:

    如果第一个操作数是对象,那么返回第二个操作数;

    如果两个操作数都是对象,那么返回第二个操作数;

    如果第一个操作数是ture,第二个操作数是对象,返回第二个操作数;

    如果其中一个操作数是null,undefined,NaN,那么返回null,undefined,NaN;

  逻辑与操作符判断出第一个操作数是false,就不会再去判断第二个操作数的结果,因为结果不可能再为true了。

 

3. 逻辑或 ||

  逻辑或与逻辑与操作类似,规则如下:

    如果第一个操作数是对象,那么返回第一个操作数;

    如果两个操作数都是对象,返回第一个操作数;

    如果两个操作数都是null,undefined,NaN,那么返回null,undefined,NaN;

    如果第一个操作数是false,那么返回第二个操作数;

 

总结

  !操作符的过程是:先将操作数转换成布尔类型,然后求非。编程中可以用!!两个非得出操作数的布尔类型。

 

  && 操作符输入短路操作。

    当第一个操作数的布尔类型已经是false了(空字符串,0,false等),就不会再去判断第二个操作数了,直接返回第一个操作数。

    当第一个操作数不为false的时候,此操作会去判断第二个操作数并返回第二个操作数,不论第二个操作数是什么。】

 

  || 操作符也是短路操作,但是和&&相反。

    当第一个操作数的布尔类型是true了,就不会去判段第二个操作数了,直接返回第一个操作数。

    当第一个操作数的布尔类型是false的时候(空字符串,0,false等),就返回第二个操作数。

 

 

    

转载于:https://www.cnblogs.com/iRidescent-ZONE/archive/2012/06/11/2538870.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值