JS,这是什么语法? " var3 =(var1> var2)? var1:var2"

时间:2015-04-11 11:54:17

标签: javascript syntax

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

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

到目前为止,正如我所知,如果variable1大于variable2,那似乎就比较了。然后输出,如果是,variable1,否则variable2

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

THX!

4 个答案:

答案 0 :(得分:2)

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

这种情况相当于

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

答案 1 :(得分:1)

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

请参阅Wikipedia for more info

答案 2 :(得分:0)

它与

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

答案 3 :(得分:0)

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