var o={};
if(o.x) o.x+=1;
看属性是否存在方法的时候,看到这么一句,不知道后 o.x+=1
是什么意思啊
当o.x存在时就将其加1;
o.x+=1相当于o.x = o.x+1;
例如:
var o ={
x:3
}
if(o.x)o.x+=1;
console.log(o.x) // 4
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答5.2k 阅读✓ 已解决
5 回答2k 阅读
3 回答2.4k 阅读✓ 已解决
因为if语句进行判断后只有一个操作,所以编码者就省略花括号了,为了避免可能的错误,最好不要图省事这样省略。
相当于
如果这段代码是想判断对象 o 是否存在属性 x 的话,这样写是不太好的,例如下面这种情况,o存在未定义x属性,if视作不存在x:
你何以在 if 中这样用
'x' in o
;或者这样用o.hasOwnProperty('x')
如果你想对o.x的真值假值分别做点什么: