js 继承父构造函数的属性和方法

  • ES6之前没有extends,可以通过构造函数 + 原型对象实现继承,叫组合继承

call()

  • 调用这个函数,并修改函数运行时this指向
fun.call(thisArg,aeg1,aeg2....)
  • thisArg 调用函数的this的指向对象
  • aeg1,aeg2 传递参数
  1. 调用函数
function fn(x,y){
  console.log(this);
  console.log(x + y);
}
var star = {
  name : "刘德华"
}
 fn.call(star,16,20);
  • this 指向star 对象 输出36

借用构造函数继承父类型属性

  • 核心:通过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;
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容