我有以下if语句:
let panoX = 0
if (pano.x === 0) {
panoX = 0
} else if (pano.x === null) {
panoX = 200
} else {
panoX = pano.x
}
// This will be sent in a form
{
x: panoX,
y: panoY
}
根据panoX
的值设置pano.x
。但我也有一个pano.y
,它通过相同的if语句。如何在不编写新的if语句的情况下处理pano.y
?
(注意:我无法x: pano.x || 200
,因为0
在JavaScript中是假的。因此将pano.x
设置为0
会使x:
成为{ {1}}。
答案 0 :(得分:3)
function panoFix(x){
if (x === 0) return 0;
if (x === null) return 200;
return x;
}
// This will be sent in a form
{
x: panoFix(pano.x),
y: panoFix(pano.y)
}
第一个条件似乎是多余的(与后备案例相同),因此可以缩短为
function panoFix(x) { return x === null ? 200 : x }
答案 1 :(得分:0)
:
var panoX = 200, panoY = 200;
if(pano !== null){
panoX = pano.x;
panoY = pano.y;
}