- ES6之前没有extends,可以通过构造函数 + 原型对象实现继承,叫组合继承
call()
fun.call(thisArg,aeg1,aeg2....)
- thisArg 调用函数的this的指向对象
- aeg1,aeg2 传递参数
- 调用函数
function fn(x,y){
console.log(this);
console.log(x + y);
}
var star = {
name : "刘德华"
}
fn.call(star,16,20);
借用构造函数继承父类型属性
- 核心:通过call()把父类型的this指向子类型的this
function Father(name,age){
this.name = name;
this.age = age;
}
function Son(name,age,fee){
Father.call(this,name,age);
this.fee = fee;
}
var son = new Son('郭麒麟',20,1000);
借用原型对象继承父类型方法
Father.prototype.monry = function(){}
Son.prototype = new Father();
//需要利用constructor 指回原来的原型对象
Son.prototype .constructor =Son;