终于真正理解js原型继承原理

2018-09-14  本文已影响176人  报告老师

js面向对象编程中,可以用函数声明对象

以下声明两个对象,

function Student() {}

function Pepole(name, age, sex, job) {

this.name = name

this.age = age

this.sex = sex

this.job = job

this.behavior = function() {

console.log(this.name)

}

}

上面两个对象构造函数,一个是Student,是一个无任何属性的对象,另一个是Pepole

已知:

1.构造函数都有它的prototype属性,再构造函数当中,prototype是他本身的一个属性,而在其对应的实例当中,prototype是对象实例的原型对象

2.构造函数的实例都有他的construtor属性,这个属性指向的是对应的构造函数

上面的Student是什么都没有的,现在要令它继承Pepole的属性以及方法:

(1).使用protptype

将Student的prototype属性指向Pepole的实例对象,使得它的

Student.prototype=new Pepole()

这样就这样直接引用Pepole的形参了

var xiaoming = new Student()//创建实例对象

xiaoming.name = 'xiaoming'

xiaoming.behavior ()//直接调Pepole上的behavior方法

最后输出:xiaoming

说到底就是改变实例对象的构造函数

上一篇 下一篇

猜你喜欢

热点阅读