【问题标题】:Came across weird javascript operation [duplicate]遇到奇怪的javascript操作[重复]
【发布时间】:2012-07-25 04:01:45
【问题描述】:

我正在从事一个由其他人设计的项目。我遇到了以下操作。我不知道它在做什么。它似乎返回 1。

有人愿意详细说明吗? 谢谢!

   ( 7  > 8?2:1)

【问题讨论】:

标签: javascript


【解决方案1】:

您正在查看Ternary Operator

它由(condition) ? (expression1) : (expression2) 组成。如果(condition) 为真,则整个表达式将计算为(expression1),如果(condition) 为假,则计算为(expression2)

var i = (7 > 8 ? 2 : 1);

翻译成

if (7 > 8)
{
  i = 2;
}
else
{
  i = 1;
}

【讨论】:

  • 太棒了!谢谢你的解释
【解决方案2】:

见:http://en.wikipedia.org/wiki/%3F:

如果 7 > 8,您的示例将返回 2,否则返回 1。

【讨论】:

    【解决方案3】:

    ? : 是一个三元运算符。这相当于

    var x = 0;
    if (7 > 8){
      x = 2;
    } else {
      x = 1;
    }
    

    这是一种表达简单条件语句的简洁方式。这是一种有条件地为变量赋值的好方法,而不需要上面使用的冗长语义。

    【讨论】:

      猜你喜欢
      • 2012-01-23
      • 1970-01-01
      • 2014-05-18
      • 1970-01-01
      • 1970-01-01
      • 2014-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多