js原型模式
Posted 与非朋仔
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js原型模式相关的知识,希望对你有一定的参考价值。
name属性要么是直接在对象上访问到的,要么是通过原型访问到的。因此调用name in person始终都返回true,无论该属性存在于实例还是存在于原型中。hasOwnProperty()只有在实例中才会返回true。
function hasPrototypeProperty(object, name){
return !object.hasOwnProperty(name) && (name in object);
}
如果函数返回真,说明原型中有这个属性。否则说明属性在实例中,或者不存在此属性。
function Person(){
Person.prototype.name = "Nicholas";
Person.prototype.sayname = function(){
alert(this.name);
}
}
var persion = new person();
alert(hasPrototypeProperty(person,name));//true
person.name = "xupen";
alert(hasPrototypeProperty(person,name));//false
以上是关于js原型模式的主要内容,如果未能解决你的问题,请参考以下文章