Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将三元运算符转换为if/else语句?_Javascript_If Statement_Ternary Operator - Fatal编程技术网

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

Javascript 将三元运算符转换为if/else语句?,javascript,if-statement,ternary-operator,Javascript,If Statement,Ternary Operator,我还在学习javascript语言,我遇到了这段代码。我想知道是否有人会把它“翻译”成if/else语句,让我更容易理解发生了什么?谢谢 var offsetX = (w < 0) ? w : 0; var offsetY = (h < 0) ? h : 0; var offsetX=(w

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

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

三元运算符总是采用
条件的形式?真表达式:假表达式
。查看此文档以了解解释:

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

// declare offsetX
var offsetX

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

// for offsetY has the same concept
//声明offsetX
var抵销
if(w<0){
offsetX=w;
}否则{
offsetX=0;
}
//因为offsetY有同样的概念
好了:

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

如果(这里:
var-offsetX=Math.min(0,w);
var-offsetX=0;如果(w<0){offsetX=w}
var-offsetX=(w<0)?w:0;
===>if(w<0)offsetX=w;else-offsetX=0;
var-offsetX;if(w<0){offsetX=w;}else-offsetX=0;
var offsetX, offsetY;
if(w<0)
    offsetX = w;
else
    offsetX = 0;

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