总结

的hasownproperty()方法是用来确定一个对象是否具有指定的属性。



语法

obj.hasownproperty(道具)



参数

道具

要检测的属性的名称。

描述

所有的object.prototype对象将从原型链继承人的继承hasownproperty方法,这种方法可以用来检测是否含有其特定属性的对象,并在运营商的方法会忽略那些从原型链继承财产。



样品



例1:这hasownproperty方法用于确定一个对象是否具有特定的自身属性

下面的示例检测对象o是否包含自属性支柱:

复制代码代码如下所示:

O =新的对象();o.prop = 'exists;功能- changeo(){(){

o.newprop = o.prop;

删除o.prop;} o.hasownproperty('prop);

返回true

ChangeO();

o.hasownproperty('prop);

返回false





示例2:自属性和继承属性之间的区别

下面的示例演示hasownproperty方法和继承财产的区别:

复制代码代码如下所示:

O =新的对象();o.prop = 'exists;o.hasownproperty('prop);

返回true

o.hasownproperty('tostring);

返回false

o.hasownproperty('hasownproperty);

返回false





示例3:遍历对象的所有属性

下面的示例演示如何忽略对象的所有属性遍历的继承属性,注意..循环将遍历枚举的属性,这是我们想要的,对object.getownpropertynames直接使用()方法也可以实现类似的需求。

复制代码代码如下所示:

布斯= { { var

雾:'stack};

对于(在布斯的变量名){

如果(buz.hasownproperty(名字)){

警报()这是雾(++)。价值:{姓名} +布斯);

}

{其他

警报(名称);

或者别的什么 / /日期

} }





4:hasownproperty方法可能是模糊的

如果一个对象都有自己的hasownproperty方法,在原型链中具有相同名称的方法是模糊的(阴影):

复制代码代码如下所示:

var { { { {

HasOwnProperty:函数(){

返回false;

},

酒吧:这是drans};foo.hasownproperty('bar);

总是返回false

/ /如果担心这种情况,你可以直接使用真正的原型链hasownproperty方法

({ })。HasOwnProperty.call(Foo,'bar);

/真

object.prototype.hasownproperty.call(Foo,'bar);

/真



以上是本文所描述的全部内容,希望您能喜欢。