javascript三元运算符用法实例


Posted in Javascript onApril 16, 2015

三元运算符用法实例:

如名字表示的三元运算符需要三个操作数。

语法是 条件 ? 结果1 : 结果2;. 这里你把条件写在问号(?)的前面后面跟着用冒号(:)分隔的结果1和结果2。满足条件时结果1否则结果2。

<script type="text/javascript">

var b=5;

(b == 5) ? a="true" : a="false";

document.write(" --------------------------- "+a);

</script>

结果: --------------------------- true
<script type="text/javascript">

var b=true;

(b == false) ? a="true" : a="false";

document.write(" --------------------------- "+a);

</script>

结果: --------------------------- false

编程语言中的三元运算符介绍 

这种运算符比较罕见,因为它有三个运算对象。但它确实属于运算符的一种,因为它最终也会生成一个值。这与本章后一节要讲述的普通if-else语句是不同的。表达式采取下述形式:

布尔表达式 ? 值0:值1

若“布尔表达式”的结果为true,就计算“值0”,而且它的结果成为最终由运算符产生的值。但若“布尔表达式”的结果为false,计算的就是“值1”,而且它的结果成为最终由运算符产生的值。

当然,也可以换用普通的if-else语句(在后面介绍),但三元运算符更加简洁。尽管C引以为傲的就是它是一种简练的语言,而且三元运算符的引入多半就是为了体现这种高效率的编程,但假若您打算频繁用它,还是要先多作一些思量——它很容易就会产生可读性极差的代码。

可将条件运算符用于自己的“副作用”,或用于它生成的值。但通常都应将其用于值,因为那样做可将运算符与if-else明确区别开。下面便是一个例子:

static int ternary(int i) {

return i < 10 ? i * 100 : i * 10;

}

可以看出,假设用普通的if-else结构写上述代码,代码量会比上面多出许多。如下所示:

static int alternative(int i) {

if (i < 10)

return i * 100;

return i * 10;

}

但第二种形式更易理解,而且不要求更多的录入。所以在挑选三元运算符时,请务必权衡一下利弊。

Javascript 相关文章推荐
JavaScript中的闭包原理分析
Mar 08 Javascript
Javascript中的Array数组对象详谈
Mar 03 Javascript
javascript事件委托的方式绑定详解
Jun 10 Javascript
在JavaScript中使用JSON数据
Feb 15 Javascript
jquery实现用户登陆界面(示例讲解)
Sep 06 jQuery
详解node+express+ejs+bootstrap构建项目
Sep 27 Javascript
react-navigation 如何判断用户是否登录跳转到登录页的方法
Dec 01 Javascript
React 路由懒加载的几种实现方案
Oct 23 Javascript
vue 使用vue-i18n做全局中英文切换的方法
Oct 29 Javascript
vue响应式系统之observe、watcher、dep的源码解析
Apr 09 Javascript
vue路由对不同界面进行传参及跳转的总结
Apr 20 Javascript
谈谈JavaScript令人迷惑的==与+
Aug 31 Javascript
jQuery on()方法使用技巧详解
Apr 16 #Javascript
JavaScript简单表格编辑功能实现方法
Apr 16 #Javascript
JavaScript转换二进制编码为ASCII码的方法
Apr 16 #Javascript
JavaScript实现彩虹文字效果的方法
Apr 16 #Javascript
JavaScript监听文本框回车事件并过滤文本框空格的方法
Apr 16 #Javascript
JQuery跳出each循环的方法
Apr 16 #Javascript
jQuery $.each遍历对象、数组用法实例
Apr 16 #Javascript
You might like
一个不易被发现的PHP后门代码解析
2014/07/05 PHP
wordpress安装过程中遇到中文乱码的处理方法
2015/04/21 PHP
YII2框架中使用yii.js实现的post请求
2017/04/09 PHP
PHP实现的简单对称加密与解密方法实例小结
2017/08/28 PHP
利用php + Laravel如何实现部署自动化详解
2017/10/11 PHP
php输出反斜杠的实例方法
2019/09/19 PHP
浅析js封装和作用域
2013/07/09 Javascript
js Array操作的最简短最容易理解方法
2013/12/09 Javascript
纯js写的分页表格数据为json串
2014/02/18 Javascript
JS实现HTML标签转义及反转义
2020/04/14 Javascript
MUI实现上拉加载和下拉刷新效果
2017/06/30 Javascript
实战node静态文件服务器的示例代码
2018/03/08 Javascript
让axios发送表单请求形式的键值对post数据的实例
2018/08/11 Javascript
vue中eslintrc.js配置最详细介绍
2018/12/21 Javascript
JavaScript中this的全面解析及常见实例
2019/05/14 Javascript
详解Vue.js3.0 组件是如何渲染为DOM的
2020/11/10 Javascript
Python实现简单状态框架的方法
2015/03/19 Python
举例讲解Python中装饰器的用法
2015/04/27 Python
python中的内置函数max()和min()及mas()函数的高级用法
2018/03/29 Python
Python字符串、整数、和浮点型数相互转换实例
2018/08/04 Python
python pandas实现excel转为html格式的方法
2018/10/23 Python
Python爬虫之正则表达式的使用教程详解
2018/10/25 Python
Python匿名函数及应用示例
2019/04/09 Python
python如何写出表白程序
2020/06/01 Python
EMU Australia澳大利亚官网:澳大利亚本土雪地靴品牌
2019/07/24 全球购物
骨干教师培训感言
2014/01/16 职场文书
面试后感谢信怎么写
2014/02/01 职场文书
小学新教师培训方案
2014/02/03 职场文书
党的群众路线教育实践活动个人整改措施材料
2014/11/04 职场文书
房屋产权证明书
2015/06/19 职场文书
中学教师读书笔记
2015/07/01 职场文书
mysql联合索引的使用规则
2021/06/23 MySQL
十大最强飞行系宝可梦,BUG燕上榜,第二是飞行系王者
2022/03/18 日漫
JavaScript获取URL参数的方法分享
2022/04/07 Javascript
Docker官方工具docker-registry案例演示
2022/04/13 Servers
python区块链实现简版工作量证明
2022/05/25 Python