美文网首页
js原型继承和构造函数继承

js原型继承和构造函数继承

作者: 小汤猿 | 来源:发表于2019-02-26 11:11 被阅读0次

// 先看下原型继承的实现方式

function Parent() {
  this.name = 'zhang san'
}
Parent.prototype.getName = function() {
  console.log(this.name)
}
function Child() {

}

Child.prototype = new Parent()
var child1 = new Child()
child1.getName()  // zhang san  

Child.prototype 是Parent的实例化子对象
Child 构造函数就拥有了 this.name = 'zhang san ' 和
getName 方法
child1 是Child的实例化子对象, 故能继承Child 的属性和方法

// 下面是构造函数继承

  function Parent () {
   this.name =['jony', 'tom']
 }
  Parent.prototype.getName = function() {
    console.log (this.name)
  }

  function Child () {
     Parent.call(this)

// 此处借助call 来用Parent的方法和属性
// 补充: apply 和call 的区别,   apply(this, [arr]) , 第二个参数是数组形式   call 的第二个参数是单个值.
 }

var child1 = new Child()
child1.name.push('lily')
console.log(child1.name)  //["jony", "tom", "lily"]  
var child2 = new Child() 
console.log(child2.name)   //  ) ["jony", "tom"]
 1,prototype可以动态的给对象增加属性和方法
2,可以实现子类继承父类,拥有父类的属性和方法
3,call和apply的区别,在于参数。
4,call和apply,可以肤浅理解为在子运行环境中执行父类的方法和属性。
5,call和apply可以实现多继承,一个子类可以继承多个父类,但是prototype只能有有一个父类**

相关文章

  • js基础之实现继承的几种方式

    js 实现继承的方式有: 原型链继承; 构造函数继承; 组合继承(原型链继承 + 构造函数继承)(最常用);(原型...

  • 2019-03-25 继承

    js中通过原型来实现继承 组合继承:原型继承+借用构造函数继承

  • 浅析JS继承方法

    JS 实现继承的方法有:1.原型链继承2.构造函数继承3.组合继承(原型链继承 + 构造函数继承)4.原型式继承(...

  • js的继承方式

    js的继承方式 一、原型链继承 原型继承的缺点: 二. 构造函数继承 构造函数继承的缺点: 三. 组合式继承 组合...

  • js 继承的三种方式构造函数、原型链、组合继承

    第一种方式:js使用构造函数的继承。 缺点:无法继承父类的原型链。 // 构造函数继承 缺点:没有继承原型链 fu...

  • JavaScript如何实现继承?

    JS 中的继承主要分为两种:原型继承和非原型继承,非原型继承又分为寄生方式继承、借用或伪造构造函数方式继承、组合方...

  • js之继承

    文章主讲 JS 继承,包括原型链继承、构造函数继承、组合继承、寄生组合继承、原型式继承、 ES6 继承,以及 多继...

  • 浅谈javaScript继承

    原型和构造函数 prototype属性对Object添加属性和方法 构造函数实例化过程 原型和继承 简单继承 继承

  • JavaScript的六种继承方式

    JavaScript的几种继承方式 原型链继承 借助构造函数继承(经典继承) 组合继承:原型链 + 借用构造函数(...

  • 原型链

    原型继承 构造函数继承? 函数对象 原型prototype

网友评论

      本文标题:js原型继承和构造函数继承

      本文链接:https://www.haomeiwen.com/subject/zpaoyqtx.html