javascript三元操作符
为啥用三元操作符(ternary)
condition ? expr1 : expr2
三元操作符用来简化条件判断
这个操作符可以用来代替if else条件判断。但是为什么有这个操作符呢?这里的原因是if else使用两个代码块,确只有一个会执行,在讲究的程序员看来是一种浪费。所以使用三元操作符用一条语句就可以完成功能就很有吸引力了。我们来看看下面的例子
var i=0;
var fee;
if(isMember){fee="$2.00";
}else{fee="$10.00";
}
fee=isMember ? "$2.00" : "$10.00";
三元操作符用来执行多个操作
三元操作符的结果语句可以执行多个操作,每个操作用逗号分隔就可以
var age = 23;
var car,school;
age > 18 ? (car = "奇瑞QQ",school = "清华第一幼儿园"//do someting
) : (alert("Sorry, you are much too young!")
);
这样也精简了不少代码。
三元操作符容易出错的地方
下面这个语句判断如果是会员,费用为2美元,非会员,为10美元。现在设置了非会员,却打印出了2美元,显然出错了。
var isMember = false;
console.log("当前费用" + isMember ? "$2.00" : "$10.00");
出错的原因是?号的优先级比+号低,所以实际运行的语句是
"当前费用false" ? "$2.00" : "$10.00");
在js中,字符串为真,所以打印出$2.00。
不是false, 0, undefined, NaN, "" or null
,js都认为是true
转载于:https://www.cnblogs.com/xiaohu1986/p/5203507.html
javascript三元操作符相关推荐
- javascript——三元操作符
{{C?A:B}} C条件成立则为A,不存在取B 比如在跟后台交互时,有许多要设默认值 <script type=''text/javascript> var value = docume ...
- 从头开始学JavaScript (五)——操作符(二)
原文:从头开始学JavaScript (五)--操作符(二) 一.乘性操作符 1.乘法:* 乘法操作符的一些特殊规则: 如果操作数都是数值,按照常规的乘法计算,如果乘积超过了ECMAscri ...
- java三元操作符注意
/* 三元操作符的类型务必一致 */ public class proposal_3 {public static void main(String[] args) {int i=80;String ...
- sql语句中的in用法示例_示例中JavaScript in操作符
sql语句中的in用法示例 One of the first topics you'll come across when learning JavaScript (or any other prog ...
- Java 操作符:Java 中操作符优先级、一二三元操作符及逻辑操作符的中德模佛定理
文章目录 前言 一.操作符介绍与优先级表 二.一元运算符与二元运算符的区别? 三.Java 中唯一的三元操作符 四.逻辑操作符中的德模佛定理 总结 前言 在 Java 中我们常见的操作符分为三种,分别 ...
- ruby三元操作符_在Ruby中使用操作符将元素添加到数组实例中
ruby三元操作符 In the previous articles, we have gone through ways through which we can create Array inst ...
- [改善Java代码]三元操作符的类型务必一致
建议三: 三元操作符是if-else的简化写法,在项目中使用它的地方很多,也非常好用,但是好用又简单的东西并不表示就可以随便用,我们来看看下面这段代码: 1 public class Client { ...
- 用三元操作符替代if-else以降低CPU分支预测惩罚实现Unity内函数13倍提速
测试对象 1,C# (Unity脚本) 2,C# DLL(mcs build的动态链接库再导入Unity) 3,C Native Code(LLVM编译后导入Unity) 被测试函数源码 两个随机数数 ...
- lua语言和python_[动态语言]python和lua中的三元操作符and-or
在这两种语言中,表达式a and b的返回值不是true或false,而是a/b当中非真的值,而表示a or b返回的是a/b当中为真的那个. 因此,要想模拟C/C++中的三元操作符c ? a : b ...
最新文章
- 程序员必备网站之一:No Design
- 无需u盘和光盘安装linux
- 机器学习(三):支持向量机SVM(含代码和注释)
- Python 数据结构与算法 —— 哈弗曼树
- RK3288的GTxx触摸屏驱动调试
- stringbuffer字符串反转操作
- iOS ipa包进行重新签名
- java导出地图矢量Shp文件
- jenkins+docker进行coverity检查自动构建
- avue-crud初始化下拉列表,以及复选框,默认选中
- SAD—系统分析和设计 “机票预订系统”_软件工程导论大作业
- android日历订阅,Android日历.
- 将 ERP 与 PPM 系统集成的 5 个理由
- 七人成团即拼即赚七人拼团模式解析
- 28python成功输出腾讯位置大数据北京地区迁出数据
- 计算任意多边形的面积
- 那些年,我们一起游玩过的地方
- 2017年技术教练认证流程回顾
- Uncaughr SyntaxError:Ivalid or unexpected toke(JS)
- yolov5中关闭wandb
热门文章
- 如何学好Python自动化,每个进阶的测试人都应该看看
- 学会shell 基本语法,玩转linux
- 华为p40pro如何升级鸿蒙,可以升级到鸿蒙OS的四款华为手机,相信都没有后悔入手!...
- medit 和 .mesh 文件
- 如何查看静态库中有哪些函数
- fprintf,input和disp函数
- 3DShader之投影贴图(Projective Texturing)
- VS2008下CEGUI 0.7.1的安装
- 大学生php实训心得1500_通知 | 关于举办全国第五届暨河南省第一届大学生国际学术研讨会通知...
- Pytext支持分布式训练,Facebook AI基于PyTorch的NLP框架,简化部署流程