三元表达式

  1. 又叫三元运算符,必须有三个操作数参与的运算
  2. 操作符号:? 与:
  3. 表达式:在参与 js 程序时,都必须先计算出表达式结果,才能参与后续程序
  4. 由于三元表达式具备了一些选择的效果,所以也是一种条件分支语句

语法

简单式:

<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。

详解式:

  1. boolean_expression ? true_value : false_value;
  2. boolean_expression: 布尔表达式,表达式在参与三元运算中必须求得一个布尔类型的值,要么是 true,要么是 false,结果作为判断依据,判断到底去:前面的值还是后面的值
  3. true_value:布尔表达式的值为真时,三元表达式的结果
  4. false_value:布尔表达式的值为假时,三元表达式的结果
  5. 作用:根据布尔表达式的结果,如果为真,三元表达式结果就是真值,如果为假,三元表达式结果就是假值
<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>

优点

  1. 虽然 if 语句可以模拟三元表达式,但是三元表达式有自己的优点: 二选一的情况下,三元表达式结构更加简单
  2. 三元表达式作为一个表达式参与程序时必须运算出结果才能参与,可以利用这个特点,将二选一结果赋值给一个变量
  3. 遇到给一个变量根据条件二选一赋值的情况,可以使用三元表达式

简单案例使用

<script>  var aa = '';var bb = '';var age = prompt("Input your age:");age > 18 ? (aa = '成年人', bb = '18岁以上') : (aa = '未成年人', bb = '18岁以下');alert(aa + ',' + bb);
</script>

JS前端之三元表达式解析相关推荐

  1. 开发那些事儿:在Flv.js前端播放器中解析并绘制H.264编码中的SEI信息

    流媒体中的SEI是指补充增强信息(Supplemental Enhancement Information),它提供了向视频码流中加入信息的办法,是H.264/H.265视频压缩标准的特性之一.SEI ...

  2. LeetCode 439. 三元表达式解析器

    文章目录 1. 题目 2. 解题 2.1 递归 2.2 循环 1. 题目 给定一个以字符串表示的任意嵌套的三元表达式,计算表达式的值. 你可以假定给定的表达式始终都是有效的并且只包含数字 0-9, ? ...

  3. python之三元表达式嵌套三元表达式解析

    python的三元表达式相信学过python的朋友都会.但是大部分学python的朋友不知道的是三元表达式还可以嵌套三元表达式. 请看代码案例: cmp = lambda a, b: 0 if a = ...

  4. 439 三元表达式解析器

    题目描述: 给定一个以字符串表示的任意嵌套的三元表达式,计算表达式的值.你可以假定给定的表达式始终都是有效的并且只包含数字 0-9, ?, :, T 和 F (T 和 F 分别表示真和假). 注意: ...

  5. js“三元表达式” (三元运算符)

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/liu_jiachen/article/ ...

  6. AWS Lambda中的Cron表达式解析器

    目录 介绍 解释代码 解析函数 特别案例 AWS设置 AWS Lambda AWS API网关 AWS Amplify 下载 index.html - 884 B​​​​​​​ 下载 index.js ...

  7. java前端有三元表达_放心写 JS 三元表达式

    本文鼓吹各位 前端 在写 JS 的时候放心大胆写三目表达式, 不要人云亦云说「不建议使用三元表达式」.欢迎交流不同意见. 三元表达式是啥? 三元表达式怎么用? 1. 赋值: const foo = c ...

  8. 4 三元表达式 列表解析 生成器表达式

    三元表达式 #!/usr/bin/env python3 # _*_ coding:utf-8 _*_ # @File : 三元表达式 # @Version : 1.0'''三元表达式能实现简单的 i ...

  9. python二十二:迭代,三元表达式,列表解析

    迭代器协议:对象必须提供一个next方法,执行该方法要么返回迭代中的下一项,要么就引起一个StopIteration异常,以终止迭代(只能往后走,不能往前退)   可迭代对象:实现了迭代器协议的对象( ...

最新文章

  1. 手把手教你从系统层面优化深度学习计算
  2. 合并两个有序数组python_Python3合并两个有序数组代码实例
  3. jquery通过数值改变球大小
  4. thinkphp5项目--个人博客(六)
  5. Windows下MySQL数据库名及表名无法大写的问题
  6. Java float类型怎么把小数位数限制为2位
  7. Spring(二)--FactoryBean、bean的后置处理器、数据库连接池、引用外部文件、使用注解配置bean等...
  8. 取消搜索状态_百度搜索引擎全网推广通常有哪些账户?
  9. Mysql学习总结(31)——MySql使用建议,尽量避免这些问题
  10. Win10 安装 VS2015 失败解决办法
  11. # heapsort
  12. [转载]使用Vitamio打造自己的Android万能播放器(2)—— 手势控制亮度、音量、缩放...
  13. 数据挖掘的技术都有哪些?
  14. oracle切割字符串函数,Oracle字符串分割函数
  15. httpclient 3.1跳过https请求SSL的验证
  16. ios 系统状态栏样式修改_IOS修改状态栏的字体颜色以及修改状态栏的背景颜色...
  17. “清洁地球日”看AI与碳中和:百度OCR成无纸化办公利器
  18. 计科之路--linux学习
  19. 毕业论文设置图序号为图1-1,而不是图一-1,同时设置题注方便交叉引用
  20. 使用Python对股票数据进行数据分析(二)-使用ta-lib库获取日线行情、5日均线、10日均线行情并显示

热门文章

  1. PyMongo 事务回滚
  2. 计算机科学的大部分研究是基于,计算机科学的大部分研究是基于____和_____的,它们是绝大多数实际机器的计算模型。...
  3. uniapp 小程序封装左滑效果组件
  4. 简历一般用什么底色的照片?一起来了解简历相关知识吧
  5. vmware虚拟机中的linux怎么和windows主机做目录映射?
  6. openSUSE leap 42.3 添加HP Laserjet Pro M128fn打印机和驱动
  7. 微信小程序获取用户信息nickname为“微信用户”
  8. javacv实现rtsp视频流录制保存视频
  9. 老师应该如何教少儿编程课
  10. 一加手机怎么样?一加9 Pro超群屏幕实力再次引领高刷标准