JS前端之三元表达式解析
三元表达式
- 又叫三元运算符,必须有三个操作数参与的运算
- 操作符号:? 与:
- 表达式:在参与 js 程序时,都必须先计算出表达式结果,才能参与后续程序
- 由于三元表达式具备了一些选择的效果,所以也是一种条件分支语句
语法
简单式:
<script> var a = 1;var b = 2;var c = b > a ? ('99_true') : ('88_false');console.log(c); // 99_true var d = a > b ? ('99_true') : ('88_false');console.log(d); // 88_false
</script>
简单来说就是b>a是对还是错,对即为真,错即为假,对就取冒号:前面的值99_true,错就取冒号:后面的值88_false。
详解式:
- boolean_expression ? true_value : false_value;
- boolean_expression: 布尔表达式,表达式在参与三元运算中必须求得一个布尔类型的值,要么是 true,要么是 false,结果作为判断依据,判断到底去:前面的值还是后面的值
- true_value:布尔表达式的值为真时,三元表达式的结果
- false_value:布尔表达式的值为假时,三元表达式的结果
- 作用:根据布尔表达式的结果,如果为真,三元表达式结果就是真值,如果为假,三元表达式结果就是假值
<script> console.log(true ? 1 : 0); // 1console.log(false ? 1 : 0); // 0// 相当于 if 语句中的var a = true;if (a){console.log(1);} else {console.log(0);} // 1
</script>
优点
- 虽然 if 语句可以模拟三元表达式,但是三元表达式有自己的优点: 二选一的情况下,三元表达式结构更加简单
- 三元表达式作为一个表达式参与程序时必须运算出结果才能参与,可以利用这个特点,将二选一结果赋值给一个变量
- 遇到给一个变量根据条件二选一赋值的情况,可以使用三元表达式
简单案例使用
<script> var aa = '';var bb = '';var age = prompt("Input your age:");age > 18 ? (aa = '成年人', bb = '18岁以上') : (aa = '未成年人', bb = '18岁以下');alert(aa + ',' + bb);
</script>
JS前端之三元表达式解析相关推荐
- 开发那些事儿:在Flv.js前端播放器中解析并绘制H.264编码中的SEI信息
流媒体中的SEI是指补充增强信息(Supplemental Enhancement Information),它提供了向视频码流中加入信息的办法,是H.264/H.265视频压缩标准的特性之一.SEI ...
- LeetCode 439. 三元表达式解析器
文章目录 1. 题目 2. 解题 2.1 递归 2.2 循环 1. 题目 给定一个以字符串表示的任意嵌套的三元表达式,计算表达式的值. 你可以假定给定的表达式始终都是有效的并且只包含数字 0-9, ? ...
- python之三元表达式嵌套三元表达式解析
python的三元表达式相信学过python的朋友都会.但是大部分学python的朋友不知道的是三元表达式还可以嵌套三元表达式. 请看代码案例: cmp = lambda a, b: 0 if a = ...
- 439 三元表达式解析器
题目描述: 给定一个以字符串表示的任意嵌套的三元表达式,计算表达式的值.你可以假定给定的表达式始终都是有效的并且只包含数字 0-9, ?, :, T 和 F (T 和 F 分别表示真和假). 注意: ...
- js“三元表达式” (三元运算符)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/liu_jiachen/article/ ...
- AWS Lambda中的Cron表达式解析器
目录 介绍 解释代码 解析函数 特别案例 AWS设置 AWS Lambda AWS API网关 AWS Amplify 下载 index.html - 884 B 下载 index.js ...
- java前端有三元表达_放心写 JS 三元表达式
本文鼓吹各位 前端 在写 JS 的时候放心大胆写三目表达式, 不要人云亦云说「不建议使用三元表达式」.欢迎交流不同意见. 三元表达式是啥? 三元表达式怎么用? 1. 赋值: const foo = c ...
- 4 三元表达式 列表解析 生成器表达式
三元表达式 #!/usr/bin/env python3 # _*_ coding:utf-8 _*_ # @File : 三元表达式 # @Version : 1.0'''三元表达式能实现简单的 i ...
- python二十二:迭代,三元表达式,列表解析
迭代器协议:对象必须提供一个next方法,执行该方法要么返回迭代中的下一项,要么就引起一个StopIteration异常,以终止迭代(只能往后走,不能往前退) 可迭代对象:实现了迭代器协议的对象( ...
最新文章
- 手把手教你从系统层面优化深度学习计算
- 合并两个有序数组python_Python3合并两个有序数组代码实例
- jquery通过数值改变球大小
- thinkphp5项目--个人博客(六)
- Windows下MySQL数据库名及表名无法大写的问题
- Java float类型怎么把小数位数限制为2位
- Spring(二)--FactoryBean、bean的后置处理器、数据库连接池、引用外部文件、使用注解配置bean等...
- 取消搜索状态_百度搜索引擎全网推广通常有哪些账户?
- Mysql学习总结(31)——MySql使用建议,尽量避免这些问题
- Win10 安装 VS2015 失败解决办法
- # heapsort
- [转载]使用Vitamio打造自己的Android万能播放器(2)—— 手势控制亮度、音量、缩放...
- 数据挖掘的技术都有哪些?
- oracle切割字符串函数,Oracle字符串分割函数
- httpclient 3.1跳过https请求SSL的验证
- ios 系统状态栏样式修改_IOS修改状态栏的字体颜色以及修改状态栏的背景颜色...
- “清洁地球日”看AI与碳中和:百度OCR成无纸化办公利器
- 计科之路--linux学习
- 毕业论文设置图序号为图1-1,而不是图一-1,同时设置题注方便交叉引用
- 使用Python对股票数据进行数据分析(二)-使用ta-lib库获取日线行情、5日均线、10日均线行情并显示
热门文章
- PyMongo 事务回滚
- 计算机科学的大部分研究是基于,计算机科学的大部分研究是基于____和_____的,它们是绝大多数实际机器的计算模型。...
- uniapp 小程序封装左滑效果组件
- 简历一般用什么底色的照片?一起来了解简历相关知识吧
- vmware虚拟机中的linux怎么和windows主机做目录映射?
- openSUSE leap 42.3 添加HP Laserjet Pro M128fn打印机和驱动
- 微信小程序获取用户信息nickname为“微信用户”
- javacv实现rtsp视频流录制保存视频
- 老师应该如何教少儿编程课
- 一加手机怎么样?一加9 Pro超群屏幕实力再次引领高刷标准