用hasownproperty没问题,一用in就报错,哪里错了
Javascript中Object对象原型上的hasOwnProperty()用来判断一个属性是定义在对象本身而不是继承自原型链。
说明hasOwnProperty是用在对象上的,你store[0]的值是2, 2.hasOwnProperty,并没有报错,不知道是不是js本身的bug。
in操作符可以用来干跟hasOwnProperty一样的事情,但是也是用在对象上面的,只是执行
'complete' in 2
的时候报错了而已
(‘complete’ in value) && (value.complete === false) 这样写就对了 ;
(1)因为 in 操作符 优先级很低, 先执行 后面的结果 , 在执行 in
(2) && 多个条件时, 建议每个 条件 加上 () ,避免bug
还有建议代码 规范点,
if(){
}
无论 后面 有几条语句,都加上{ };
代码习惯、规范, 可以大幅度 减少bug 出现