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
在布尔运算中,如果有空的或者否定的为假,其余的为真
- 零(0)是为假,
- 空字符串('')也是为假,
- 还有几个特殊的 null、undefined、NaN也是为假
举例4
console.log( ' ' && 2 + 1&& 3* 9999 )
在上面逻辑运算中加入一个空的字符串,那毫无疑问,空字符串就是为假的咯,不管后面是什么都是不参与运算了,返回的就是一个空的字符串,如下图运行结果
举例5
console.log(321 && 3* 9999)
分析:如果第一个表达式的值为真,则返回表达式2
2.总结
- 如果第一个表达式的值为真,则返回表达式2
- 如果第一个表达式的值为假,则返回表达式1
JS 逻辑中断(一)相关推荐
- 逻辑运算符 、逻辑中断
逻辑运算符 逻辑与 ''&&'' 简称 ''与 '' 逻辑或 ''||'' 简称 ''或'' 逻辑非 ''! ''简称 '非 逻辑与 两边都是 true 返回结果才为true // 逻 ...
- js的图片渐渐入渐渐出的效果(html逻辑 css逻辑 js逻辑))
js逻辑: 第一步; 可视区的高度+只是滑出去的高度-图片的1/2===如果结果是650和文档顶部到图片的中部的距离一样的话,代表滑动到了图片的一半了. 第一:滑动过了图片的一半了. 第二:滑动等于图 ...
- 暑期学习日记28:js逻辑
1.JavaScript 布尔(逻辑)代表两个值之一:true 或 false. 2.使用Boolean() 函数来确定表达式(或变量)是否为真: <!doctype html> < ...
- offsetWidth和width的区别 逻辑中断 delete运算符 。。。。
offsetWidth和width的区别: 1.offsetWidth属性可以返回对象的padding+border+widt属性值之和,style.width返回值就是定义的对象的width属性值. ...
- 微信小程序开发(五) - 全局(app.js)逻辑 - js 文件
微信小程序中使用的逻辑文件 ,本质上还是.js 文件,脚本中的很多东西进行了二次封装,本质上可以在外部调试中,查看 逻辑层(App Service) 小程序开发框架的逻辑层由 JavaScript 编 ...
- js逻辑训练题_几道javascript练习题
走在前端的大道上 问题1: 作用域(Scope) 考虑以下代码: (function() { var a = b = 5; })(); console.log(b); 控制台(console)会打印出 ...
- js 运行中断停止_如何终止 JS 脚本的运行
在很多其他语言比如 PHP 当中,存在 exit 函数来中止程序的运行.很遗憾的是 JavaScript 没有.因此我们需要自己模拟出这么一个 "exit" 功能. 我们知道,br ...
- js 逻辑空分配双问号语法 、双竖杠语法 与 可选链语法
可选链的语法允许开发者访问嵌套得更深的对象属性,而不用担心属性是否真的存在.也就是说,如果可选链在挖掘过程遇到了null或undefined的值,就会通过短路(short-circuit)计算,返回u ...
- js逻辑训练题_二建冲刺必刷300题!精选历年真题+母子题+模考易错题!
订阅公众号,回复[口诀],获取完整版实务口诀 你是不是常常疑惑为什么同样在做题,同样熬通宵,同样很努力,为什么有人顺利拿证,有人却因几分之差黯然落榜? 因为二建不仅拼努力的程度,更要拼对精准二建信息的 ...
- js逻辑训练题_七彩思维逻辑魔盘:全方面锻炼孩子的数学与逻辑思维
思维力: 思维力是人脑对客观事物间接的.概括的反映能力.当人们在学会观察事物之后,他逐渐会把各种不同的物品.事件.经验分类归纳,不同的类型他都能通过思维进行概括 家长们常常容易忽视孩子的思维力 而思维 ...
最新文章
- 小米开源FALSR算法:快速精确轻量级的超分辨率模型
- iOS开发 - OC - block的详解 - 深入篇
- python动态执行代码_第6.6节 Python动态执行小结
- python读取视频流做人脸识别_基于OpenCV和Keras实现人脸识别系列——二、使用OpenCV通过摄像头捕获实时视频并探测人脸、准备人脸数据...
- 里计算两个数的总和_2个公式,在Excel里面去掉最高分和最低分计算平均值
- 大数据读书笔记(2)-流式计算
- RedisManager使用手册(二) -- 配置文件详解
- 同步IO、异步IO、阻塞IO、非阻塞IO、复用IO
- flask接收前台的form数据
- 测试linux和window下 jdk最大能使用多大内存
- linux下RTNETLINK answers: File exists的解决方案
- java static调用吗_java中使用static
- 【PYTHON 笔记】:捕捉异常
- stcc52单片机时钟电路_有备无患,单片机面试问题集
- [转] 背完这444句英语,你的口语绝对不成问题
- Modelsim SE的下载和安装
- 三角网导线平差实例_三角网间接平差示例
- STM32L051低功耗STOP模式下RTC唤醒
- 【C语言】输出100内素数
- 十款ASP CMS建站系统源码