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")//trueobj.hasOwnProperty("toString")// false obj 本身没有toString属性

 

相关文章