实例解析javascript三元运算符的用法

发布时间:2020-04-20编辑:脚本学堂
本文介绍了javascript三元运算符的用法,通过具体的例子来了解三元运算符的使用方法,并介绍了js三元运算符的一些使用细节,供大家学习参考。

javascript三元运算符用法

如名字表示的三元运算符需要三个操作数。
语法是 条件 ? 结果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;
}
 

但第二种形式更易理解,而且不要求更多的录入。