Javascript对象的学习笔记(三):hasownproperty
中毒 / / object.prototypeobject.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将避免由原型对象扩展引起的麻烦。