js 判断对象的属性是否存在

1.in运算符  (属性名 in 对象)

 情况1:对象自身属性

var obj={a:1};
"a" in obj//true

情况2:对象继承的属性

var objA={a:1};
var objB=Object.create(A)
"a" in objB //true

总结:in运算符 不仅能识别对象自身的属性 也能识别继承的属性

2.hasOwnProperty 只能识别对象自身的属性

var obj={a:1};
obj.hasOwnProperty("a")//true

obj.hasOwnProperty("toString")//  false     obj 本身没有toString属性

猜你喜欢

转载自www.cnblogs.com/sunxiaopei/p/11778338.html