JS 的与 和 或

本文详细介绍了JavaScript中的逻辑与运算符(&&)的规则和行为,特别是涉及非布尔值操作数时的特殊情况。逻辑与操作遵循特定的对象处理规则,并且是短路操作,即如果第一个操作数能确定结果,则不评估第二个操作数。此外,还讨论了逻辑或(||)运算符如何用于避免因未定义或null值导致的错误,以及如何用它来提供默认值。通过这些运算符,开发者可以更灵活地处理条件表达式和数据验证。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

逻辑与:

逻辑与有两个和号(&&)表示,有两个操作数:

var result = true &&false;

逻辑与操作适用于任何数据类型的操作数,而不仅仅是布尔值。再有一个操作数不是布尔值的情况下,返回的值不一定是布尔值;此时,它遵循下列规律。

1.如果第一个操作数是对象,他返回第二个操作数

2.如果第二个操作数是对象,只有在第一个对象的操作数的求值结果为true的情况下才会返回该对象。

3.如果两个操作数都是对象,则返回第二个操作数。

4.如果有一个操作数是null,则返回null.

5.如果有一个操作数是NaN,则返回NaN.

6,如果有一个操作数是undefined,则返回undefined.

逻辑与操作属于短路操作,既第一个操作数能够决定结果,那么就不会对第二个操作数求值。

对于逻辑与操作而言,如果第一个操作数是false,则无论第二个操作数是什么值,则结果都不可能是true了。

var f = true;

var result = (f && someundefinedVariable) //这里会发生错误

console.log(result) //这里不会执行,前面报错了

在上面的代码中,当执行逻辑与操作时会发生错误,因为变量someundefinedVariable没有声明。

var f = false;

var result = (f && someundefinedVariable) //这里就不会报错

console.log(result) //       会执行(‘false’)

逻辑或;

var f = true;

var result =  (f   ||   someUndefinedVariable)  //不会发生错误,

console.log(result)    //会被执行

因为第一个数值为true,第二个参数就不会被执行,所以不会报错.

我们可以利用逻辑或来避免null  、undefined值。

例如:

        var myf = preferredObject ||  backupObject;

        myf将被赋值等号后面的一个,preferredObject 优先给myf 赋值,变量backupObject负责在

preferredObject 中不包含有效值的情况下为myf提供后备值。

‘’

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值