将三元运算符翻译成 if/else 语句?

Translate ternary operator into if/else statement?

我仍在学习 javascript 语言,并且我 运行 正在学习这段代码。我想知道是否有人可能 "translate" 将其放入 if/else 语句中,以使我更容易理解发生了什么?谢谢!

var offsetX = (w < 0) ? w : 0;
var offsetY = (h < 0) ? h : 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

好了:

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

offsetY

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

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