,,js中hasOwnProperty的属性及实例用法详解

,,js中hasOwnProperty的属性及实例用法详解

在这篇文章中,边肖整理了js中hasOwnProperty的属性和例子的详细说明,有需要的朋友可以关注一下。

1.js不会保护hasOwnProperty不被非法占有。如果这个属性恰好存在于一个对象中,您需要使用一个外部hasOwnProperty函数来获得正确的结果。

2.当检查对象上是否存在属性时,hasOwnProperty是唯一可用的方法。

实例

var foo={

hasOwnProperty: function() {

返回false

},

酒吧:“这里有龙”

};

foo . hasownproperty(' bar ');//总是返回false

//使用其他对象的hasOwnProperty并将其上下文设置为foo

({}).hasOwnProperty.call(foo,' bar ');//真

知识点拓展:

判断自身属性是否存在。

var o=new Object();

o.prop=' exists

函数changeO() {

o . newprop=o . prop;

删除o . prop;

}

o . hasownproperty(' prop ');//真

changeO();

o . hasownproperty(' prop ');//假

判断自身属性和遗传属性

函数foo() {

this.name='foo '

this.sayHi=function () {

console.log('问好')

}

}

foo . prototype . saygoodby=function(){

console.log('告别')

}

让myPro=new foo()

console.log(myPro.name) //foo

console . log(mypro . hasownproperty(' name ')//true

console . log(mypro . hasownproperty(' toString ')//false

console . log(mypro . hasOwnProperty(' hasOwnProperty ')//fasle

console . log(mypro . hasownproperty(' say hi ')//true

console . log(mypro . hasownproperty(' say goodby ')//false

console . log(myPro中的' say goodby ')//true

遍历对象的所有属性。

在看开源项目的过程中,你会经常看到如下这样的源代码。为.in循环遍历对象的所有枚举属性,然后使用hasOwnProperty()方法忽略继承的属性。

var buz={

雾:“堆栈”

};

for(buz中的变量名称){

if (buz.hasOwnProperty(name)) {

alert('这肯定是雾('名字')。值:' buz[name]);

}

否则{

警报(名称);//toString或其他东西

}

}

注意将hasOwnProperty作为属性名。

JavaScript不保护hasOwnProperty属性名,所以它可能存在于包含该属性名的对象中。有必要使用可扩展的hasOwnProperty方法来获得正确的结果:

var foo={

hasOwnProperty: function() {

返回false

},

酒吧:“这里有龙”

};

foo . hasownproperty(' bar ');//总是返回false

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

//使用另一个对象的hasOwnProperty并调用

({}).hasOwnProperty.call(foo,' bar ');//真

//还可以在对象原型上使用hasOwnProperty属性

object . prototype . hasownproperty . call(foo,' bar ');//真

关于js中hasOwnProperty的属性和例子的详细解释,本文到此为止。有关js中hasOwnProperty的属性和用法的更多信息,请搜索我们以前的文章或继续浏览下面的相关文章。希望大家以后能多多支持我们!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: