【JavaScript】 逻辑中断(一)

1,416 阅读2分钟

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

📝【JavaScript】学习养成记,【程序员必备小知识】

📔 今日小知识——JavaScript逻辑中断(一)  

前言

通常我们平时的布尔运算的逻辑运算,都是布尔值之间的运算,true&&false == false

那如果是 231 && 789 的这种值的运算,或者是表达式参与逻辑运算的呢???那结果是231 还是789呢???

在逻辑运算中,有一个非常重要的特点:我们叫作短路运算或者叫逻辑中断

短路运算的原理:当有多个表达式(值)时候,左边的表达式值可以确定结果时,就不再继续运算右边的表达式的值

比如在公司,工位一排的电脑连着电在工作,突然其中一台电脑的线路短路了,其他的电脑和这条线路上的电器就不工作了,这就叫作短路

例如上面提到的231 && 789,左边的表达式已经可以确定结果了,所以就不再继续运算了,那到底短路运算改如果运算呢???我从逻辑与和或两个方面来进行分析

1. 逻辑与

  • 语法:表达式1&&表达式2
  • 如果第一个表达式的值为真,则返回表达式2
  • 如果第一个表达式的值为假,则返回表达式1

举例1

console.log(231 && 789)

知道了语法规则,我们看看上面提到的例子,看看运行结果

分析:如果第一个表达式的值为真,则返回表达式2

举例2 

console.log(0 && 789)

分析:如果第一个表达式的值为假,则返回表达式1 

举例3

还可以加入表达式

console.log(0 && 2 + 1&& 3* 9999) 

分析:如果第一个表达式的值为假,则返回表达式1 

因为第一个值为零了,短路了,后面的就不再执行了,所以结果为表达式1,打印结果就是0

在布尔运算中,如果有空的或者否定的为假,其余的为真

  1. 零(0)是为假,
  2. 空字符串('')也是为假,
  3. 还有几个特殊的 null、undefined、NaN也是为假

举例4

console.log( ' ' && 2 + 1&& 3* 9999 ) 

在上面逻辑运算中加入一个空的字符串,那毫无疑问,空字符串就是为假的咯,不管后面是什么都是不参与运算了,返回的就是一个空的字符串,如下图运行结果

举例5

console.log(321 && 3* 9999)

分析:如果第一个表达式的值为真,则返回表达式2

2. 总结

  • 如果第一个表达式的值为真,则返回表达式2
  • 如果第一个表达式的值为假,则返回表达式1

3. 写在后面

关注我,更多内容持续输出

🌹 喜欢就点个赞吧👍🌹

🌹 觉得有收获的,可以来一波 收藏+关注,以免你下次找不到我😁🌹

🌹欢迎大家留言交流,批评指正,转发请注明出处,谢谢支持!🌹