对象原型
Posted 。。。
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对象原型相关的知识,希望对你有一定的参考价值。
如何判断一个对象的方法是来自这个本身的还是原型的?
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
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
|
以上是关于对象原型的主要内容,如果未能解决你的问题,请参考以下文章
VSCode自定义代码片段12——JavaScript的Promise对象