条件(三元)运算符 (?:)
更新:2007 年 11 月
视情况返回以下两个表达式之一。
test ? expression1 : expression2
参数
test
任何 Boolean 表达式。expression1
test 为 true 时返回的表达式。可能是逗点表达式。expression2
test 为 false 时返回的表达式。可能是逗点表达式。
备注
?: 运算符可以用作 if...else 语句的快捷方式。它通常用作较大表达式(使用 if...else 语句会很繁琐)的一部分。例如:
var now = new Date();
var greeting = "Good" + ((now.getHours() > 17) ? " evening." : " day.");
在此例中,如果晚于下午 6 时,则创建一个包含 "Good evening." 的字符串。使用 if...else 语句的等效代码如下:
var now = new Date();
var greeting = "Good";
if (now.getHours() > 17)
greeting += " evening.";
else
greeting += " day.";