js 判断对象是否有属性

JavaScript中有数据属性和访问器属性两种对象属性,我们要想使用这两个对象属性,第一步就要判断对象中是都有属性,若没有属性,是不能使用的。本文介绍JavaScript中判断对象是否有属性的三种方法:1、使用in运算符判断;2、使用hasOwnProperty();3、使用!==检测。

1、使用in运算符判断

'name'intest//true
'un'intest//true
'toString'intest//true
'age'intest//false

注意:这种方式的局限性,即无法区分自身和原型链上的属性,在只需要判断自身属性是否存在时,这种方式就不适用了。这时需要hasOwnProperty()

2、使用hasOwnProperty()

varo={x:1};
o.hasOwnProperty("x");  //true,自有属性中有x
o.hasOwnProperty("y");  //false,自有属性中不存在y
o.hasOwnProperty("toString");//false,这是一个继承属性,但不是自有属性

注意hasOwnProperty()只能检测自有属性

3、使用!==检测

varo={x:1}
o.x!==undefined//返回true
o.y!==undefined//返回false
o.toString!==undefined//返回true,因为对象o继承了原型的toString属性

注意:对象的属性值不能设置为undefined

原文来自:https://www.py.cn
© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容