【问题标题】:JS, what syntax is this? "var3 = (var1 > var2) ? var1 : var2" [duplicate]JS,这是什么语法? “var3 =(var1 > var2)?var1:var2”[重复]
【发布时间】:2015-06-17 02:59:39
【问题描述】:

我找到了一个使用以下语法的脚本:

var variable3 = (Math.abs(variable1)>Math.abs(variable2)) ? variable1 : variable2;

据我所知,如果variable1 大于variable2,这似乎可以比较。然后输出,如果是,variable1,否则输出variable2

我找不到任何描述,这似乎很方便,有人可以解释一下吗?

谢谢!

【问题讨论】:

标签: javascript syntax


【解决方案1】:

这称为conditional operator(并且是 JavaScript 中唯一的三元运算符)。

这种情况下就相当于

if((Math.abs(variable1)>Math.abs(variable2)))
{
   variable3= variable1;
}
else
{
   variable3 = variable2;
}

【讨论】:

    【解决方案2】:

    它被称为“三元运算符”,它是另一种执行简单内联 if 语句并将值返回给变量的方法。

    Wikipedia for more info

    【讨论】:

      【解决方案3】:

      类似

      if(Math.abs(variable1)>Math.abs(variable2))
          var variable3 =  variable1;
      else
          var variable3 =  variable2; 
      

      【讨论】:

        【解决方案4】:

        这实际上是一个三元条件运算符(也称为? 标记运算符)。这用于代替if 语句,但它与if 语句一样灵活。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-04-02
          • 1970-01-01
          • 1970-01-01
          • 2020-07-13
          • 1970-01-01
          • 1970-01-01
          • 2010-12-02
          • 2013-08-21
          相关资源
          最近更新 更多