接上一篇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.总结

在上一篇已经介绍了,逻辑中断里面的与预算,规则特点是

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

或运算的规则特点是

  1. 如果表达式1 结果为真,则返回表达式1
  2. 如果表达式1 结果为假,则返回表达式2

从以上可以看出,逻辑中断的与和或,刚好是相反的。如果第一个表达式的值为真,在与运算里面 返回表达式2,在或运算里面返回表达式1

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

  1. H5案例分享:jquery.qrcode.js生成简易二维码

    近期做项目需要生成二维码,并且解码获取信息,jquery.qrcode.js生成二维码比较的方便,写个教程分享给大家.欢迎大家测试留言,我会改进代码. 现在二维码越来越流行啦,支付扫二维码,关注扫二维 ...

  2. three.js 弹出二维图片

    three.js 弹出二维图片 代码 // 创建平面let geometry = new THREE.PlaneGeometry(30, 30);let plan_texture = THREE.Im ...

  3. 利用jquery的qrcode.js插件生成二维码的两种方式的使用

    2019独角兽企业重金招聘Python工程师标准>>> 利用jquery的qrcode.js插件生成二维码的额两种方式,canvas(即画布)方式和table方式(原文地址http: ...

  4. (五)JS基础知识二(通过图理解原型和原型链)【三座大山之一,必考!!!】

    JS基础知识二(原型和原型链) 提问 class 继承 类型判断(instanceof) 原型 原型关系 基于原型的执行规则 原型链 说明 提问 如何准确判断一个变量是不是数组 class的原型本质 ...

  5. Python学习 Day28 JS函数(二)

    JS函数(二) (一)return关键字 关键字return一般结合函数一起使用.而且需要注意,这个关键字一般只能在函数体中使用 作用: 1.函数体中如果遇见关键字return,函数体后面语句不再执行 ...

  6. qrcode.js生成微信二维码

    ①安装qrcodejs2 npm install qrcodejs2 --save ②在页面中引入 import QRCode from "qrcodejs2" ③在html中设置 ...

  7. jquery二维码生成插件jquery.qrcode.js在线生成二维码

    一代巨匠金庸先生驾鹤西去,谢谢您的作品,陪我度过儿时的时光 –2018.10.31 一.场景再现 由于业务需求,经常会将访问链接分享给别人,方便其他客户访问我们的业务.在本周的需求中,我们需要根据地址 ...

  8. JS生成条形码/二维码 barcode.js、JsBarcode

    JS生成条形码/二维码 barcode.JsBarcode JsBarcode Barcode.js 以下代码均非纯原创.新手小白.网上一搜一大把的概念也不写了,直接上可运行的代码及遇到的小坑. Js ...

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

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

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

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

最新文章

  1. (二)行为化参数传递代码
  2. 【PP生产订单】入门介绍(七)
  3. fedora 35 安装各种桌面环境命令整理
  4. 服务器升级中不能修改,windows10下更新服务器为何改不了了
  5. 【概率与期望】[UVA11021]Tribles
  6. neo4j browser执行脚本后不提示用时_还不懂什么是分层自动化测试的,有赞的实践经历告诉你...
  7. mysql 自增长改动_优化了MYSQL大量写入问题,老板奖励了1000块给我
  8. java字符串拼接还是格式化_Java中三种字符串的拼接(++ , String.format , StringBuilder.a...
  9. mybatis-plus自定义sql分页
  10. java键盘钩子_java 写的低级鼠标键盘钩子示例
  11. “莫兰迪色系” 高级灰
  12. emos后台管理项目心得
  13. 从BAT围剿中杀出重围,青藤云安全“第二总部”将剑指何方
  14. BJTU 1729 Ryan的弹幕游戏(BFS)
  15. HR面试问题-离职原因
  16. 电子信息要学c语言嘛,电子信息工程专业主要学什么 一般工资是多少
  17. Win11系统点击wifi图标没有反应怎么解决?
  18. 使用高德API接口查询两个地址之间的行车距离
  19. ST-Link资料05_自制ST-Link(提供原理图及hex和bin固件)
  20. 张长水主任当选2018年IEEE Fellow!中国大陆17位当选者清华占了5位 !(附完整名单)

热门文章

  1. 1. 数组之差TapeEquilibrium Minimize the value |(A[0] + ... + A[P-1]) - (A[P] + ... + A[N-1])|.
  2. iOS 面试题整理(带答案)二
  3. 重新启用ClustrMaps记数
  4. 继承(1)----《.NET 2.0面向对象编程揭秘 》学习
  5. expect的安装与使用
  6. iOS-CoreText的那些事【电子书的那些事】
  7. JMeter基础教程1:若隐若现的参数化
  8. 关于JqueryEasyUI插件—Tab,默认选中某个面板 如果不明显指定的话,第一个就是被选中的...
  9. 伪静态在webconfig中配置
  10. [7]2019-ICDM-Learning to Sample:an Active Learning Framework 论文笔记