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 相关文章推荐
jquery下为Event handler传递动态参数的代码
Jan 06 Javascript
解决jquery异步按一定的时间间隔刷新问题
Dec 10 Javascript
使用jQuery的attr方法来修改onclick值
Jul 07 Javascript
node.js中的console.time方法使用说明
Dec 09 Javascript
jquery简单图片切换显示效果实现方法
Jan 14 Javascript
BootStrap中Table分页插件使用详解
Oct 09 Javascript
vue动态组件实现选项卡切换效果
Mar 08 Javascript
详解vue表单验证组件 v-verify-plugin
Apr 19 Javascript
一次记住JavaScript的6个正则表达式方法
Feb 22 Javascript
Vue组件Draggable实现拖拽功能
Dec 01 Javascript
JavaScript学习笔记之DOM基础操作实例小结
Jan 09 Javascript
jstree中的checkbox默认选中和隐藏示例代码
Dec 29 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
discuz加密解密函数使用方法和中文注释
2014/01/21 PHP
phpmyadmin出现Cannot start session without errors问题解决方法
2014/08/14 PHP
PHP+Mysql实现多关键字与多字段生成SQL语句的函数
2014/11/05 PHP
php按单词截取字符串的方法
2015/04/07 PHP
php使用Jpgraph绘制3D饼状图的方法
2015/06/10 PHP
PHP读取zip文件的方法示例
2016/11/17 PHP
Javascript - HTML的request类
2006/07/15 Javascript
jQuery 前的按键判断代码
2010/03/19 Javascript
js各种验证文本框输入格式(正则表达式)
2010/10/22 Javascript
JavaScript开发Chrome浏览器扩展程序UI的教程
2016/05/16 Javascript
jQuery动态生成Bootstrap表格
2016/11/01 Javascript
Async Validator 异步验证使用说明
2017/07/03 Javascript
vue中的模态对话框组件实现过程
2018/05/01 Javascript
angularjs的单选框+ng-repeat的实现方法
2018/09/12 Javascript
在vue项目中使用codemirror插件实现代码编辑器功能
2019/08/27 Javascript
js blob类型url的视频下载问题的解决
2019/11/29 Javascript
vue实现分页加载效果
2019/12/24 Javascript
从0到1学习JavaScript编写贪吃蛇游戏
2020/07/28 Javascript
使用python实现strcmp函数功能示例
2014/03/25 Python
python 线程的暂停, 恢复, 退出详解及实例
2016/12/06 Python
对python读取zip压缩文件里面的csv数据实例详解
2019/02/08 Python
详解Python打包分发工具setuptools
2019/08/05 Python
Python类中的魔法方法之 __slots__原理解析
2019/08/26 Python
使用pygame编写Flappy bird小游戏
2020/03/14 Python
Python中的全局变量如何理解
2020/06/04 Python
5分钟让你掌握css3阴影、倒影、渐变小技巧(小编推荐)
2016/08/15 HTML / CSS
L’Artisan Parfumeur官网:法国香水品牌
2020/08/11 全球购物
构造器Constructor是否可被override?
2013/08/06 面试题
C/C++ 笔试、面试题目大汇总
2015/11/21 面试题
小学教师办公室制度
2014/02/03 职场文书
2014年财务工作自我评价
2014/09/23 职场文书
个人作风建设自查报告
2014/10/22 职场文书
2016年小学教师政治学习心得体会
2016/01/23 职场文书
SpringBoot中HttpSessionListener的简单使用方式
2022/03/17 Java/Android
pytorch分类模型绘制混淆矩阵以及可视化详解
2022/04/07 Python
MySQL数据库如何使用Shell进行连接
2022/04/12 MySQL