Javascript对象的学习笔记(三):hasownproperty

中毒 / / object.prototype
object.prototype.bar = 1;
var:未定义};

foo.bar / / 1;
bar'in foo; / /真的

foo.hasownproperty('bar '); / /假
foo.hasownproperty('goo '); / /真的


在这里,只有hasownproperty能给出正确的答案,这是必要的时候,遍历一个对象的属性。有没有其他的方法来判断一个属性是Javascript的对象本身或自我的原型链继承定义。

hasownproperty作为属性

Javascript没有设置hasownproperty作为一个敏感词,这意味着你可以有一个名为hasownproperty。你不能用你自己的hasownproperty方法判断此时的属性,所以你需要使用外部hasownproperty判断方法。


var { { { {
HasOwnProperty:函数(){
返回false;
},
酒吧:这是龙的
};

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

使用另一个对象的hasownproperty叫 /它with'this'set FOO
({ })。HasOwnProperty.call(Foo,'bar '); / /真的

使用对象hasownproperty /也有可能
为此目的,/原型
object.prototype.hasownproperty.call(Foo,'bar '); / /真的


总结

hasownproperty是唯一的方法,可以依靠的对象时,属性判断。在这里也提醒我们,当我们使用循环遍历对象,hasownproperty将避免由原型对象扩展引起的麻烦。