我仍然在学习javascript语言,并且遇到了这样的代码。我想知道是否有人可能把它翻译成if/else语句,以便我更容易理解发生了什么?谢谢!将三元运算符转换为if/else语句吗?
var offsetX = (w < 0) ? w : 0;
var offsetY = (h < 0) ? h : 0;
我仍然在学习javascript语言,并且遇到了这样的代码。我想知道是否有人可能把它翻译成if/else语句,以便我更容易理解发生了什么?谢谢!将三元运算符转换为if/else语句吗?
var offsetX = (w < 0) ? w : 0;
var offsetY = (h < 0) ? h : 0;
var offsetX, offsetY;
if(w<0)
offsetX = w;
else
offsetX = 0;
if(h<0)
offsetY = h;
else
offsetY = 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
There:'var offsetX = Math.min(0,w);';) – DarthJDG
'var offsetX = 0;如果(w <0){offsetX = w}' – Laazo
'var offsetX =(w <0)? w:0;'===>'if(w <0)offsetX = w; else offsetX = 0;' –