时间:2021-05-26
JavaScript hasOwnProperty() 方法是 Object 的原型方法(也称实例方法),它定义在 Object.prototype 对象之上,所有 Object 的实例对象都会继承 hasOwnProperty() 方法。
hasOwnProperty() 方法用来检测一个属性是否是对象的自有属性,而不是从原型链继承的。如果该属性是自有属性,那么返回 true,否则返回 false。换句话说,hasOwnProperty() 方法不会检测对象的原型链,只会检测当前对象本身,只有当前对象本身存在该属性时才返回 true。
例如,在下面自定义类型中,this.name 就表示对象的自有属性,而原型对象中的 name 属性就是继承属性。
hasOwnProperty() 的语法格式如下:
参数说明:propertyName 参数表示要检测的属性名称。
返回值:返回一个布尔值。如果 propertyName 是自有属性,那么返回 true,否则返回 false。
示例1
针对上面的自定义类型,可以实例化对象,然后判定当前对象调用的属性 name 是什么类型。
凡是构造函数的原型属性(原型对象包含的属性),都是继承属性,使用 hasOwnProperty() 方法检测时,都会返回 false。但是,对于原型对象本身来说,这些原型属性又是原型对象的自有属性,所以返回值又是 true。
示例2
在下面示例中,演示了 toString() 方法对于 Date 对象来说是继承属性,但是对于 Date 构造函数的原型对象来说,则是它的自有属性。
hasOwnProperty() 方法只能判断指定对象中是否包含指定名称的属性,无法检查对象原型链中是否包含某个属性,所以能够检测出来的属性必须是对象成员。
示例3
下面示例演示了 hasOwnProperty() 方法所能检测的属性范围。
到此这篇关于JS hasOwnProperty()方法检测一个属性是否是对象的自有属性的方法的文章就介绍到这了,更多相关JS hasOwnProperty 内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
hasOwnProperty方法返回一个布尔值,指出一个对象是否具有指定名称的属性。object.hasOwnProperty(proName)兼容WinIE5
hasOwnProperty:是用来判断一个对象是否有你给出名称的属性或对象。不过需要注意的是,此方法无法检查该对象的原型链中是否具有该属性,该属性必须是对象本
Object的hasOwnProperty()方法返回一个布尔值,判断对象是否包含特定的自身(非继承)属性。判断自身属性是否存在varo=newObject()
计算对象的长度,即获取对象属性的个数,具体如下方法一:通过forin遍历对象,并通过hasOwnProperty判断是否是对象自身可枚举的属性varobj={"
检测对象中属性的存在与否可以通过几种方法来判断。1.使用in关键字该方法可以判断对象的自有属性和继承来的属性是否存在。复制代码代码如下:varo={x:1};"