首页 > 代码库 > 对象原型
对象原型
如何判断一个对象的方法是来自这个本身的还是原型的?
function Person() {} Person.prototype.name="Nicholas";Person.prototype.age=29;Person.prototype.sayName=function(){ alert(this.name);} var person1=new Person();person1.name="Greg"; var person2=new Person(); console.log(person1.hasOwnProperty("name"));//trueconsole.log(person2.hasOwnProperty("name"));//false console.log("name" in person1);//trueconsole.log("name" in person2);//true for (var prop in person1) { console.log(prop);//name age sayName} function hasPrototypeProperty(object,pro) {//如此可判断存在于原型中的属性 return (!object.hasOwnProperty(pro))&&(pro in object);}console.log(hasPrototypeProperty(person1,"name"));//falseconsole.log(hasPrototypeProperty(person2,"name"));//true
function Person() { } Person.prototype.name= "Nicholas" ; Person.prototype.age=29; Person.prototype.sayName= function (){ alert( this .name); } var person1= new Person(); person1.name= "Greg" ; var person2= new Person(); console.log(person1.hasOwnProperty( "name" )); //true console.log(person2.hasOwnProperty( "name" )); //false console.log( "name" in person1); //true console.log( "name" in person2); //true for ( var prop in person1) { console.log(prop); //name age sayName } function hasPrototypeProperty(object,pro) { //如此可判断存在于原型中的属性 return (!object.hasOwnProperty(pro))&&(pro in object); } console.log(hasPrototypeProperty(person1, "name" )); //false console.log(hasPrototypeProperty(person2, "name" )); //true
|
对象原型
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。