三元运算符又称为三目运算符,指的是根据不同的条件,执行不同的操作/返回不同的值。
语法结构为:条件 ? 操作1 : 操作2。 如果条件为真,执行操作1,否则执行操作2。
(条件) ? 表达式1 : 表达式2
上面代码中,如果“条件”为true,则返回“表达式1”的值,否则返回“表达式2”的值。
var even = (n % 2 === 0) ? true : false;
上面代码中,如果n可以被2整除,则even等于true,否则等于false。它等同于下面的形式。
var even;
if (n % 2 === 0) {
even = true;
} else {
even = false;
}
这个三元运算符可以被视为if...else...的简写形式,因此可以用于多种场合。
var myVar;
console.log(
myVar ?
'myVar has a value' :
'myVar does not have a value'
)
// myVar does not have a value
上面代码利用三元运算符,输出相应的提示。
var msg = '数字' + n + '是' + (n % 2 === 0 ? '偶数' : '奇数');
上面代码利用三元运算符,在字符串之中插入不同的值。
多条件的情况:
(条件) ? 表达式1 : 表达式2 ? 表达式3 : 表达式4;
// 如果条件为真执行表达式1,为假执行表达式2,如果表达式2为真,则执行表达式3,为假则执行表达式4
下面举一个计算可莱托指数的例子
/*
* 计算可莱托指数:
* klt=体重/(身高*身高)
* klt>25 胖
* <20 瘦
* 正常
*/
var stature = 170;
var weight = 140;
var klt = weight/(stature*stature);
klt = klt > 25 ? "胖" : klt < 20 ? "瘦" : "正常";
document.write(klt);
javaScript简单入门:http://www.jsphp.net/js-jichu-basic/show-7-18-1.html
网友评论