逻辑操作符

逻辑操作符

&&(与)、||(或)、!(非)

逻辑与(&&)

只有两个条件同时满足的时候才会返回true,两个条件都是假的返回的结果是false

即:一假即假

当逻辑语操作不是布尔值的时候,返回值就不一定是布尔值,

可分为以下几种情况

1、当第一个操作数据是对象时,返回第二个操作数据的值。

2、当第二个操作数据为对象时,如果第一个操作数据的值为true,则返回对象的值,如果为false,则返回false。

3、当两个操作数据都是为对象时,会返回第二个操作数据的值。

4、如果操作数据有一个为空(null),则最终结果为null。

5、如果操作数据有一个为(NaN),则最终结果为NaN。

6、如果操作数据有一个为(undefined),则最终结果为undefined。

var bool = true;
var bool1 = false;
console.log(bool && bool1);//false
if(bool && bool1){
   console.log("我要去打水");
   }

逻辑或(||)

只要当两个条件有一个满足,就会返回true,两个条件都是假的返回的结果是false

即一真即真

当逻辑或操作不是布尔值的时候,返回值就不一定是布尔值,

可分为以下几种情况

1、当第一个操作数据是对象时,返回第一个操作数据的值。

2、当第二个操作数为对象时,则第一个操作数为true,返回true;为假的时候返回第二个操作数。

3、、当两个操作数据都是为对象时,会返回第一个操作数据的值。

逻辑非(!)

就是取反,即true取反false或false取反true,就是真变假,假变真

!bool

可以通过!!把其他类型的值转换为布尔值。

比如:

var str = “null”;

console.log(!!str);//true

			var bool2 = false;
			console.log( bool1 || bool2);//false
			console.log(bool || bool1);//true
			console.log(!bool);//false
			console.log(bool1 && bool2);//false
			
			var obj = new Object();
			var str = "123";
			console.log(obj && bool2);//false
			console.log(obj && str);//123
			console.log(bool1 && obj);//false
			console.log(bool && obj);//{}
			var str = bool && obj;
			var obj1 = {
				"name":"test"
			}
			console.log(obj && obj1);
			var str = null;
			console.log(str && bool);//null
			var str1 = NaN;
			console.log(str1 && bool1);//NaN
			var str2 = undefined;
			console.log(str2 && bool);//undefined
			console.log(str1 && str2);//NaN
			console.log(obj || bool);//{}
			var str = "null";
			console.log(Boolean(str));//true
			console.log(!str);//false
			console.log(!!str);//true
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值