小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
📝【JavaScript】学习养成记,【程序员必备小知识】
📔 今日小知识——JavaScript逻辑中断(二)
接上一篇JS逻辑中断(一)
本篇介绍逻辑中断或(短路运算)
1. 逻辑中断或
- 如果表达式1 结果为真,则返回表达式1
- 如果表达式1 结果为假,则返回表达式2
举例1
console.log(387 || 618)
根据上面的规则特性,387||618 结果应该是387,运行一下看看结果如何,不出意外,控制台打印是387
哈哈,果然是387,和预期的一样,如果表达式1 结果为真,则返回表达式1
举例2
复制下上面的,再后面加上其他的表达式看看结果如何呢??? 不出意外肯定还是387
console.log(387 || 618 || 123 + 456 || 110)
果然还是和预期的结果是一致的,如果表达式1 结果为真,则返回表达式1,所以无论后面有多少表达式,都是中断的,不会去执行的
举例3
那如果上面的举例表达式1是零呢,结果又会是什么呢???
console.log(0 || 618 || 123 + 456 || 110)
表达式 0 || 618 返回的结果是618(如果表达式1 结果为假,则返回表达式2),然后 618 || 123 + 456 || 110,618是为真的,就返回表达式1,所以最后的结果就是618了
举例4
那么我们再来看一个例子,如下代码:
var num = 0
console.log(123 || num++)
console.log(num)
分析:由“如果表达式1 结果为真,则返回表达式1”,那么这句代码console.log(123 || num++) 肯定是结果为0 ,那么num的输出结果为多少呢?是 1 还是 0 呢???
在控制台,我们可以看到打印的结果是0,因为逻辑中断了,后面的就不执行了,所以num没有自增,还是初始的值0
所以逻辑中断重不重要啊???很显然,逻辑中断是非常重要的知识点,学习JS的就必须掌握,这在很多前端面试中都会经常考的,那么你学会了吗?
2. 总结
在上一篇已经介绍了,逻辑中断里面的与预算,规则特点是
- 如果第一个表达式的值为真,则返回表达式2
- 如果第一个表达式的值为假,则返回表达式1
或运算的规则特点是
- 如果表达式1 结果为真,则返回表达式1
- 如果表达式1 结果为假,则返回表达式2
从以上可以看出,逻辑中断的与和或,刚好是相反的。如果第一个表达式的值为真,在与运算里面 返回表达式2,在或运算里面返回表达式1
3. 写在后面
关注我,更多内容持续输出
🌹 喜欢就点个赞吧👍🌹
🌹 觉得有收获的,可以来一波 收藏+关注,以免你下次找不到我😁🌹
🌹欢迎大家留言交流,批评指正,
转发请注明出处,谢谢支持!🌹