alert(a&&b)和alert(a||b)

本文探讨JavaScript面试中常见的逻辑运算符问题,通过实例解析`||`和`&&`的用法。`||`在遇到假值时返回后面的值,真值时返回前面的值;`&&`则在遇到假值时返回前面的值,真值时返回后面的值。两者都遵循短路原则,且`&&`的优先级高于`||`。

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

最近看前端面试题看到这个题目,还不知道怎么回事,结果自己在控制台试了一下,加上看了网上别人的解释,这里记录说明如下:

1、先说说 || 的情况

看看以下几种情况分别得到的结果:

1、alert(0||1),得到的结果是1;

2、alert(0||"a"),得到的结果是a;

3、alert(1||2),得到的结果是1;

4、alert(1||0),得到的结果是1;

5、alert(''||0),得到的结果是0;

6、alert(''||1),得到的结果是1;

7、alert('a'||0),得到的结果是a;

8、alert('a'||1),得到的结果是a;

||(逻辑或)一般来说是在符号前后的数据都为false的情况下才得到false,其余的情况都是true。 

总结上面的规律可以发现:||符号前的数据若为false,则不管后面的数据是什么,alert(a||b)得到的结果都是b,即符号后面的值;若前面的值为true,则不管后面的值是什么,alert(a||b)得到的值都是a,即符号前面的值。

2、再看&&的情况

还是刚刚的几个例子

看看以下几种情况分别得到的结果:

1、alert(0&&1),得到的结果是0;

2、alert(0&&"a"),得到的结果是0;

3、alert(1&&2),得到的结果是2;

4、alert(1&&0),得到的结果是0;

5、alert(''&&0),得到的结果是'';

6、alert(''&&1),得到的结果是'';

7、alert('a'&&0),得到的结果是0;

8、alert('a'&&1),得到的结果是1;

&&(逻辑与)一般来说是在符号前后的数据都为true的情况下才得到true,其余的

情况都是false。 

总结上面的规律可以发现:&&符号前的数据若为false,则不管后面的数据是什么,

alert(a&&b)得到的结果都是a,即符号前面的值;若前面的值为true,则不管后面的值

是什么,alert(a&&b)得到的值都是b,即符号后面的值。

逻辑运算符,||和&&都是遵行短路原则,只要确定了符号前面的真假,既可确定返回值。

这里需要说明的是&&的优先级是高于||的。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值