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
说到底就是改变实例对象的构造函数
网友评论