【发布时间】:2012-07-25 04:01:45
【问题描述】:
我正在从事一个由其他人设计的项目。我遇到了以下操作。我不知道它在做什么。它似乎返回 1。
有人愿意详细说明吗? 谢谢!
( 7 > 8?2:1)
【问题讨论】:
标签: javascript
我正在从事一个由其他人设计的项目。我遇到了以下操作。我不知道它在做什么。它似乎返回 1。
有人愿意详细说明吗? 谢谢!
( 7 > 8?2:1)
【问题讨论】:
标签: javascript
您正在查看Ternary Operator。
它由(condition) ? (expression1) : (expression2) 组成。如果(condition) 为真,则整个表达式将计算为(expression1),如果(condition) 为假,则计算为(expression2)。
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;
}
这是一种表达简单条件语句的简洁方式。这是一种有条件地为变量赋值的好方法,而不需要上面使用的冗长语义。
【讨论】: