我以这两种方式调用函数
foo([x,y])
或foo({x:x,y:y})
与x,y ∈ [0,∞)
foo函数看起来像这样
var x = pos.x || pos[0],
y = pos.y || pos[1];
如果我使用x=0
以第二种方式调用该函数,则pos.x
将被评估为false,这会使x=pos[0]
为undefined
。
我想知道0
是否有办法将false
评估为if(pos.x===0){/*...*/}
,就像使用{{1}}
答案 0 :(得分:3)
您需要检查pos.x
是否存在,而不是检查它的值。您可以使用hasOwnProperty
函数执行此操作:
var x = pos.hasOwnProperty('x') ? pos.x : pos[0];
答案 1 :(得分:1)