JS 逻辑中断(一)

 

目录

前言

1.逻辑与

举例1

举例2 

举例3

举例4

举例5

2.总结


前言

通常我们平时的布尔运算的逻辑运算,都是布尔值之间的运算,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

 

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卡卡西Sensei

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值