一、借用构造函数继承父类型属性
// 1、父构造函数
function Father(uname, age) {
this.uname = uname;
this.age = age;
}
// 2、子构造函数
function Son(uname, age) {
// 通过call()将this指向子构造函数
Father.call(this, uname, age)
}
var son = new Son('小明', 18);
console.log(son); //Son { uname: '小明', age: 18 }
二、借用构造函数继承父类型方法
// 1、父构造函数
function Father(uname, age) {
this.uname = uname;
this.age = age;
}
//2、父构造函数方法
Father.prototype.sing = function () {
console.log('我会唱歌');
}
// 3、子构造函数
function Son(uname) {
this.uname = uname;
}
//4、创建一个Father实例对象,将Son.prototype指向这个实例对象
Son.prototype = new Father();
// 5、利用constructor指回原来的构造函数
Son.prototype.constructor = Son;
var son = new Son('小明');
// 6、调用sing()
son.sing(); //我会唱歌