JS,这是啥语法? “var3 =(var1 > var2)?var1:var2”[重复]
Posted
技术标签:
【中文标题】JS,这是啥语法? “var3 =(var1 > var2)?var1:var2”[重复]【英文标题】: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
?
我找不到任何描述,这似乎很方便,有人可以解释一下吗?
谢谢!
【问题讨论】:
看这里developer.mozilla.org/en-US/docs/Web/javascript/Reference/… 【参考方案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
语句一样灵活。
【讨论】:
以上是关于JS,这是啥语法? “var3 =(var1 > var2)?var1:var2”[重复]的主要内容,如果未能解决你的问题,请参考以下文章