原型链怎样给类下面的实例添加实例属性和实例方法

在这里要用到prototype这个关键字了,通过这个关键字可以给类下面的实例添加实例属性和方法,话不多说,直接上代码

代码实例如下:

function Person(name) {
    this.name = name;
}
var p1 = new Person("zhangsan");
Person.prototype.age = 18; //为类下面的实例添加实例属性
Person.prototype.speak = function() { //为类下面的实例添加实例方法
    console.log(this.name+":"+this.age)
};
p1.speak();

 




当程序加载Person函数时,会为Person构造器创建Person原型对象,他们是独立存在的,构造器中有一个prototype属性指向了原型对象,原型对象中有一个constructor属性指向构造器,当Person类的实例在使用一个不存在的属性时,会自动到Person构造器的原型对象中去找

原理如下图所示:

posted @ 2017-03-01 20:20  明明一颗大白菜  阅读(1053)  评论(0编辑  收藏  举报
<-- -->