1、修改this指向:单继承基本实现
这里我们就需要使用call或者apply来实现
// 定义一个人的属性
function People(name,sex,age){
this.name = name;
this.sex = sex;
this.age = age;
}
// 定义身份继承人的属性
function Woman(iden,name,sex,age){
this.iden = iden;
People.call(this,name,sex,age)
}
var a = new Woman('大哥','张飞','男',22)
a // Woman {iden: "大哥", name: "张飞", sex: "男", age: 22}
2、修改多个对象的this指向:多继承的基本实现
如果要继承多个类,我们只需要进行多次call或者apply调用即可
// 定义一个姓名
function People(name) {
this.name = name;
}
// 定义一个学校
function School(school) {
this.school = school;
}
// 定义身份
function Iden(name,school,iden) {
People.call(this,name);
School.call(this,school);
this.iden = iden;
}
var a = new Iden('张飞','清华','学生')
a // Iden {name: "张飞", school: "清华", iden: "学生"}