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 相关文章推荐
让iframe子窗体取父窗体地址栏参数(querystring)
Oct 13 Javascript
jQuery Selector选择器小结
May 06 Javascript
常用的几段javascript代码分享
Mar 25 Javascript
JavaScript eval() 函数介绍及应用示例
Jul 29 Javascript
动态更新highcharts数据的实现方法
May 28 Javascript
js 获取当前web应用的上下文路径实现方法
Aug 19 Javascript
jQuery实现微信长按识别二维码功能
Aug 26 Javascript
JavaScript自定义函数实现查找两个字符串最长公共子串的方法
Nov 24 Javascript
vue2.0 axios前后端数据处理实例代码
Jun 30 Javascript
JavaScript设计模式之职责链模式应用示例
Aug 07 Javascript
React优化子组件render的使用
May 12 Javascript
Laravel 如何在blade文件中使用Vue组件的示例代码
Jun 28 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 ajax 分页类代码
2008/11/13 PHP
php Try Catch异常测试
2009/03/01 PHP
基于wordpress主题制作的具体实现步骤
2013/05/10 PHP
PHP PDOStatement:bindParam插入数据错误问题分析
2013/11/13 PHP
PHP面向对象程序设计继承用法简单示例
2018/12/28 PHP
php自定义排序uasort函数示例【二维数组按指定键值排序】
2019/06/19 PHP
php封装实现钉钉机器人报警接口的示例代码
2020/08/08 PHP
Extjs TimeField 显示正常时间格式的代码
2011/06/28 Javascript
JavaScript call apply使用 JavaScript对象的方法绑定到DOM事件后this指向问题
2011/09/28 Javascript
让浏览器DOM元素最后加载的js方法
2014/07/29 Javascript
jquery.idTabs 选项卡使用示例代码
2014/09/03 Javascript
详解JavaScript中shift()方法的使用
2015/06/09 Javascript
JS表格组件神器bootstrap table详解(强化版)
2016/05/26 Javascript
通过BootStrap实现轮播图的实际应用
2016/09/26 Javascript
详解基于Bootstrap+angular的一个豆瓣电影app
2017/06/26 Javascript
JavaScript 数组去重并统计重复元素出现的次数实例
2017/12/14 Javascript
浅析JS抽象工厂模式
2017/12/14 Javascript
JS window对象简单操作完整示例
2020/01/14 Javascript
Vue项目中使用flow做类型检测的方法
2020/03/18 Javascript
koa中间件核心(koa-compose)源码解读分析
2020/06/15 Javascript
JS this关键字在ajax中使用出现问题解决方案
2020/07/17 Javascript
JavaScript中layim之整合右键菜单的示例代码
2021/02/06 Javascript
[43:24]完美世界DOTA2联赛PWL S3 INK ICE vs DLG 第二场 12.12
2020/12/17 DOTA
深入讲解Java编程中类的生命周期
2016/02/05 Python
python3之模块psutil系统性能信息使用
2018/05/30 Python
浅谈Python3识别判断图片主要颜色并和颜色库进行对比的方法
2019/10/25 Python
Python替换NumPy数组中大于某个值的所有元素实例
2020/06/08 Python
python mongo 向数据中的数组类型新增数据操作
2020/12/05 Python
你们项目是如何进行变更控制的
2015/08/26 面试题
违反校纪校规检讨书
2014/02/15 职场文书
借款协议书
2014/09/16 职场文书
证券公司客户经理岗位职责
2015/04/09 职场文书
绿色环保倡议书
2015/04/28 职场文书
增值税发票丢失证明
2015/06/19 职场文书
靠谱的活动总结
2019/04/16 职场文书
Fluentd搭建日志收集服务
2022/09/23 Servers