与或非的总结和几种好用的赋值
1、||(逻辑或)
例如:console.log( '' || 1) //返回的是1 注:在js逻辑运算中,-0、0、”“、null、false、undefined、NaN都会判为false
console.log( null || 0) //返回的是0
2.只要 ‘||’ 前面为true,不管 ‘||’ 后面的是true还是false,都返回 ‘||’ 前面的值
例如:console.log( 'hello' || 0) //返回的是hello
console.log( 'hello'|| 1) //返回的是'hello'
1、&&(逻辑与)
1.只要“&&”前面是false,无论“&&”后面是true还是false,结果都将返“&&”前面的值;
例如:console.log( 0 && ‘abc’) //返回的是0
console.log( 0 && null) //返回的是0
2.只要“&&”前面是true,无论“&&”后面是true还是false,结果都将返“&&”后面的值;
例如:console.log( ‘abc’ && null) //返回的是null
console.log( ‘abc’ && 2) //返回的是2
实际中的运用
需求:当num值为0的时候,txt的值为起步,当num值为1的时候,txt的值为第一步
当num值为2的时候,txt的值为第二步,当num为其它的时候,txt的值为结束
let num = 0;
let txt = ''
第一种方法:
if (num === 0 ) {
txt = '起步'
} else if (num === 1) {
txt = '第一步'
} else if (num === 2) {
txt = '第二步'
} else {
txt = '结束'
}
第二种方法:
switch (num) {
case 0:
txt = '起步'
break
case 1:
txt = '第一步'
break
case 2:
txt = '第二步'
break
default :
txt = '结束'
break
}
第三种方法:使用与或非的方法
let txt = (num === 0 && '起步') || (num === 1 && '第一步') ||
(num === 2 && '第二步') || '结束'
第四种方法:
let txt = num === 0 ? '起步' : num === 0 ? '第一步' :
this.val === 0 ? '第二步' : '结束'
第五种方法
let txt = {'0': '起步', '1': '第一步', '2': '第二步'}[num] || '结束'
以上五种方法,第一种和第二种可读性强,后面几种简洁
与或非的总结和几种好用的赋值相关推荐
- Java异步非阻塞编程的几种方式
简介: Java异步非阻塞编程的几种方式 一. 从一个同步的Http调用说起 一个很简单的业务逻辑,其他后端服务提供了一个接口,我们需要通过接口调用,获取到响应的数据. 逆地理接口:通过经纬度获取这个 ...
- Go中的函数也是一种数据类型,可以赋值给一个变量
在Go中,函数也是一种数据类型,可以赋值给一个变量,则该变量就是一个函数类型的变量了.通过该变量可以对函数调用. 这种概念类似于scala中的高阶函数 package main import &quo ...
- C 为什么非要引入那几种类型转换?
为什么要引入这几种类型转换,它与C语言中的强制类型转换有什么区别? 这四种类型转换分别应用在什么场景? C 为什么要引入这几种强制类型转换? 我们都知道C 完全兼容C语言,C语言的转换方式很简单,可以 ...
- 阻塞和非阻塞队列下两种生产者消费者实现
队列可分为两种,一种是阻塞队列,一种是非阻塞队列. 阻塞队列和非阻塞队列的区别:阻塞队列可以阻塞,非阻塞队列不能阻塞,只能使用队列wait(),notify()进行队列消息传送.而阻塞队列当队列里面没 ...
- 汇编--查找第一个非0字符的五种方法
第一种 #include <windows.h> #include <stdio.h>void main(void) {int m = 0, cout = 0;char cSt ...
- 非冯诺依曼体系计算机,一种新非冯·诺依曼计算机体系结构.pdf
一种新非冯·诺依曼计算机体系结构 第26 卷 第10 期 北 京 理 工 大 学 学 报 Voi. 26 No. 10 穗 趟 魁 手 此 均 开 区 婉 糟 幻 坟 洗 补 丸 谋 赘 害 养 隐 ...
- php爬虫模拟浏览器,PHP模拟浏览器访问,抓取非本地文件的几种方法「爬虫」
在做一些天气预报或者RSS订阅的程序时,往往需要抓取非本地文件,一般情况下都是利用php模拟浏览器的访问,通过http请求访问url地址, 然后得到html源代码或者xml数据,得到数据我们不能直接输 ...
- 模态对话框与非模态对话的几种销毁方法与区别
From: http://renjwjx.blog.51cto.com/811549/191320/ 前几天发现自己的程序中使用非模态对话框,Debug版本有警告提示如下: Warning: call ...
- JAVA输出字符串中字母_Java输出字符串中的大写英文字母数,小写英文字母数以及非英文字母的三种方法...
import java.util.*; /** * 3.编写一个程序,输出一个字符串中的大写英文字母数,小写英文字母数以及非英文字母. 提示: 方法一:使用循环提取字符,判断字符是否在A-Z .a-z ...
最新文章
- 对AI行业未来发展的一些看法
- 学习笔记Flink(二)—— Flink数据流模型、时间窗口和核心概念
- xampp运行php中文乱码,dvwa+xampp搭建显示乱码的问题及解决方案
- Docker安装java-Zookeeper进行操作
- android 刷rom,刷ROM是什么?刷ROM是什么意思?
- 软考官方教材:信息系统项目管理师教程(第三版)
- 一个“老”程序员的思考
- exchange EWS 开发随笔二
- Scikit-learn:分类classification
- Message Code 【27796】 Failed to connect to server 'hostname';port_ld': 'reason'.
- JavaScript详细解析
- 互联网地图矢量数据Python获取方法
- 【东华初中编程试题2206】病毒复制 N 分数 快递哥
- python爬携程_用python selenium抓取携程信息
- 研发团队管理:IT研发中项目和产品原来区别那么大,项目级的项目是项目,产品级的项目是产品!!!
- 学fpga(hls之vivado、zynq和petalinux)
- 闲来无事,做个了批量看图的页面
- 圆心科技再求上市:亏损金额飙升,研发费用率低于2%,如何突围?
- cf大区服务器显示人数合区后,CF:各大区迎来合并,未来只有4大战区,看看自己属于哪个战区?...
- 亚马逊AWS:一个字头的诞生