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