将三元运算符转换为if / else语句?

时间:2017-07-25 13:49:28

标签: javascript if-statement ternary-operator

我还在学习javascript语言,我遇到了这段代码。我想知道是否有人可能将其“翻译”成if / else语句,以便我更容易理解发生了什么?谢谢!

var offsetX = (w < 0) ? w : 0;
var offsetY = (h < 0) ? h : 0;

3 个答案:

答案 0 :(得分:1)

var offsetX, offsetY;
if(w<0)
    offsetX = w;
else
    offsetX = 0;

if(h<0)
    offsetY = h;
else
    offsetY = 0;

答案 1 :(得分:0)

三元运算符始终采用condition ? true expr : false expr形式。请查看此文档以获取解释:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Conditional_Operator

因此,在您的情况下,冒号(:)之前的表达式成为if条件的一部分,冒号后的表达式成为else条件的一部分:

// declare offsetX
var offsetX

if (w < 0) {
  offsetX = w;
} else {
  offsetX = 0;
}

// for offsetY has the same concept

答案 2 :(得分:0)

你去了:

if (w<0)
{
    offsetX = w;
}
else
{
    offsetX = 0;
}

offsetY

相同