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
暂无评论内容