JS 逻辑中断(二)
接上一篇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
JS 逻辑中断(二)相关推荐
- H5案例分享:jquery.qrcode.js生成简易二维码
近期做项目需要生成二维码,并且解码获取信息,jquery.qrcode.js生成二维码比较的方便,写个教程分享给大家.欢迎大家测试留言,我会改进代码. 现在二维码越来越流行啦,支付扫二维码,关注扫二维 ...
- three.js 弹出二维图片
three.js 弹出二维图片 代码 // 创建平面let geometry = new THREE.PlaneGeometry(30, 30);let plan_texture = THREE.Im ...
- 利用jquery的qrcode.js插件生成二维码的两种方式的使用
2019独角兽企业重金招聘Python工程师标准>>> 利用jquery的qrcode.js插件生成二维码的额两种方式,canvas(即画布)方式和table方式(原文地址http: ...
- (五)JS基础知识二(通过图理解原型和原型链)【三座大山之一,必考!!!】
JS基础知识二(原型和原型链) 提问 class 继承 类型判断(instanceof) 原型 原型关系 基于原型的执行规则 原型链 说明 提问 如何准确判断一个变量是不是数组 class的原型本质 ...
- Python学习 Day28 JS函数(二)
JS函数(二) (一)return关键字 关键字return一般结合函数一起使用.而且需要注意,这个关键字一般只能在函数体中使用 作用: 1.函数体中如果遇见关键字return,函数体后面语句不再执行 ...
- qrcode.js生成微信二维码
①安装qrcodejs2 npm install qrcodejs2 --save ②在页面中引入 import QRCode from "qrcodejs2" ③在html中设置 ...
- jquery二维码生成插件jquery.qrcode.js在线生成二维码
一代巨匠金庸先生驾鹤西去,谢谢您的作品,陪我度过儿时的时光 –2018.10.31 一.场景再现 由于业务需求,经常会将访问链接分享给别人,方便其他客户访问我们的业务.在本周的需求中,我们需要根据地址 ...
- JS生成条形码/二维码 barcode.js、JsBarcode
JS生成条形码/二维码 barcode.JsBarcode JsBarcode Barcode.js 以下代码均非纯原创.新手小白.网上一搜一大把的概念也不写了,直接上可运行的代码及遇到的小坑. Js ...
- 逻辑运算符 、逻辑中断
逻辑运算符 逻辑与 ''&&'' 简称 ''与 '' 逻辑或 ''||'' 简称 ''或'' 逻辑非 ''! ''简称 '非 逻辑与 两边都是 true 返回结果才为true // 逻 ...
- js的图片渐渐入渐渐出的效果(html逻辑 css逻辑 js逻辑))
js逻辑: 第一步; 可视区的高度+只是滑出去的高度-图片的1/2===如果结果是650和文档顶部到图片的中部的距离一样的话,代表滑动到了图片的一半了. 第一:滑动过了图片的一半了. 第二:滑动等于图 ...
最新文章
- (二)行为化参数传递代码
- 【PP生产订单】入门介绍(七)
- fedora 35 安装各种桌面环境命令整理
- 服务器升级中不能修改,windows10下更新服务器为何改不了了
- 【概率与期望】[UVA11021]Tribles
- neo4j browser执行脚本后不提示用时_还不懂什么是分层自动化测试的,有赞的实践经历告诉你...
- mysql 自增长改动_优化了MYSQL大量写入问题,老板奖励了1000块给我
- java字符串拼接还是格式化_Java中三种字符串的拼接(++ , String.format , StringBuilder.a...
- mybatis-plus自定义sql分页
- java键盘钩子_java 写的低级鼠标键盘钩子示例
- “莫兰迪色系” 高级灰
- emos后台管理项目心得
- 从BAT围剿中杀出重围,青藤云安全“第二总部”将剑指何方
- BJTU 1729 Ryan的弹幕游戏(BFS)
- HR面试问题-离职原因
- 电子信息要学c语言嘛,电子信息工程专业主要学什么 一般工资是多少
- Win11系统点击wifi图标没有反应怎么解决?
- 使用高德API接口查询两个地址之间的行车距离
- ST-Link资料05_自制ST-Link(提供原理图及hex和bin固件)
- 张长水主任当选2018年IEEE Fellow!中国大陆17位当选者清华占了5位 !(附完整名单)
热门文章
- 1. 数组之差TapeEquilibrium Minimize the value |(A[0] + ... + A[P-1]) - (A[P] + ... + A[N-1])|.
- iOS 面试题整理(带答案)二
- 重新启用ClustrMaps记数
- 继承(1)----《.NET 2.0面向对象编程揭秘 》学习
- expect的安装与使用
- iOS-CoreText的那些事【电子书的那些事】
- JMeter基础教程1:若隐若现的参数化
- 关于JqueryEasyUI插件—Tab,默认选中某个面板 如果不明显指定的话,第一个就是被选中的...
- 伪静态在webconfig中配置
- [7]2019-ICDM-Learning to Sample:an Active Learning Framework 论文笔记