目录

前言

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

JS 逻辑中断(一)相关推荐

  1. 逻辑运算符 、逻辑中断

    逻辑运算符 逻辑与 ''&&'' 简称 ''与 '' 逻辑或 ''||'' 简称 ''或'' 逻辑非 ''! ''简称 '非 逻辑与 两边都是 true 返回结果才为true // 逻 ...

  2. js的图片渐渐入渐渐出的效果(html逻辑 css逻辑 js逻辑))

    js逻辑: 第一步; 可视区的高度+只是滑出去的高度-图片的1/2===如果结果是650和文档顶部到图片的中部的距离一样的话,代表滑动到了图片的一半了. 第一:滑动过了图片的一半了. 第二:滑动等于图 ...

  3. 暑期学习日记28:js逻辑

    1.JavaScript 布尔(逻辑)代表两个值之一:true 或 false. 2.使用Boolean() 函数来确定表达式(或变量)是否为真: <!doctype html> < ...

  4. offsetWidth和width的区别 逻辑中断 delete运算符 。。。。

    offsetWidth和width的区别: 1.offsetWidth属性可以返回对象的padding+border+widt属性值之和,style.width返回值就是定义的对象的width属性值. ...

  5. 微信小程序开发(五) - 全局(app.js)逻辑 - js 文件

    微信小程序中使用的逻辑文件 ,本质上还是.js 文件,脚本中的很多东西进行了二次封装,本质上可以在外部调试中,查看 逻辑层(App Service) 小程序开发框架的逻辑层由 JavaScript 编 ...

  6. js逻辑训练题_几道javascript练习题

    走在前端的大道上 问题1: 作用域(Scope) 考虑以下代码: (function() { var a = b = 5; })(); console.log(b); 控制台(console)会打印出 ...

  7. js 运行中断停止_如何终止 JS 脚本的运行

    在很多其他语言比如 PHP 当中,存在 exit 函数来中止程序的运行.很遗憾的是 JavaScript 没有.因此我们需要自己模拟出这么一个 "exit" 功能. 我们知道,br ...

  8. js 逻辑空分配双问号语法 、双竖杠语法 与 可选链语法

    可选链的语法允许开发者访问嵌套得更深的对象属性,而不用担心属性是否真的存在.也就是说,如果可选链在挖掘过程遇到了null或undefined的值,就会通过短路(short-circuit)计算,返回u ...

  9. js逻辑训练题_二建冲刺必刷300题!精选历年真题+母子题+模考易错题!

    订阅公众号,回复[口诀],获取完整版实务口诀 你是不是常常疑惑为什么同样在做题,同样熬通宵,同样很努力,为什么有人顺利拿证,有人却因几分之差黯然落榜? 因为二建不仅拼努力的程度,更要拼对精准二建信息的 ...

  10. js逻辑训练题_七彩思维逻辑魔盘:全方面锻炼孩子的数学与逻辑思维

    思维力: 思维力是人脑对客观事物间接的.概括的反映能力.当人们在学会观察事物之后,他逐渐会把各种不同的物品.事件.经验分类归纳,不同的类型他都能通过思维进行概括 家长们常常容易忽视孩子的思维力 而思维 ...

最新文章

  1. 小米开源FALSR算法:快速精确轻量级的超分辨率模型
  2. iOS开发 - OC - block的详解 - 深入篇
  3. python动态执行代码_第6.6节 Python动态执行小结
  4. python读取视频流做人脸识别_基于OpenCV和Keras实现人脸识别系列——二、使用OpenCV通过摄像头捕获实时视频并探测人脸、准备人脸数据...
  5. 里计算两个数的总和_2个公式,在Excel里面去掉最高分和最低分计算平均值
  6. 大数据读书笔记(2)-流式计算
  7. RedisManager使用手册(二) -- 配置文件详解
  8. 同步IO、异步IO、阻塞IO、非阻塞IO、复用IO
  9. flask接收前台的form数据
  10. 测试linux和window下 jdk最大能使用多大内存
  11. linux下RTNETLINK answers: File exists的解决方案
  12. java static调用吗_java中使用static
  13. 【PYTHON 笔记】:捕捉异常
  14. stcc52单片机时钟电路_有备无患,单片机面试问题集
  15. [转] 背完这444句英语,你的口语绝对不成问题
  16. Modelsim SE的下载和安装
  17. 三角网导线平差实例_三角网间接平差示例
  18. STM32L051低功耗STOP模式下RTC唤醒
  19. 【C语言】输出100内素数
  20. 十款ASP CMS建站系统源码

热门文章

  1. vue2.0中 怎么引用less?
  2. xfce4快捷键设置
  3. Ubuntu Linux 8.04 Vsftp 假造用户设置
  4. 开源的读取Excel文件组件-ExcelDataReader
  5. 一周水题集锦 2017 9.4
  6. linux c 笔记-1
  7. jQuery中的阻止默认行为
  8. 试图删除 xx 和yy之间的关系。但是,关系的其中一个外键 (xx_yy.xxID) 无法设置为 null。...
  9. Linux下生产者与消费者问题
  10. DbEntry 开发实践:Wiki 系统(四)