我正在做一个由别人设计的项目。我遇到了以下操作。我不知道它在做什么。它似乎返回 1。
有人愿意详细说明吗?谢谢!
( 7 > 8?2:1)
您正在查看三元运算符。
它由(condition) ? (expression1) : (expression2)
. 整个表达式将评估(expression1)
是否(condition)
为真,(expression2)
如果(condition)
为假。
var i = (7 > 8 ? 2 : 1);
翻译成
if (7 > 8)
{
i = 2;
}
else
{
i = 1;
}
请参阅:http://en.wikipedia.org/wiki/%3F:
如果 7 > 8,您的示例将返回 2,否则返回 1。
? :
是三元运算符。这相当于
var x = 0;
if (7 > 8){
x = 2;
} else {
x = 1;
}
这是一种表达简单条件语句的简洁方式。这是一种在没有上面使用的详细语义的情况下有条件地为变量赋值的好方法。