美文网首页
JS中的继承

JS中的继承

作者: 大笑_876c | 来源:发表于2018-05-21 16:42 被阅读0次

1. prototype实现继承

function Human(name){
  this.name=name
}
Human.prototype.run=function(){
  console.log('跑')
}

function Man(name){
  Human.call(this,name)
  this.gender='男'
}

function f(){}
f.prototype=Human.prototype
Man.prototype=new f()
Man.prototype.constructor=Man

由于IE不支持Man.prototype.proto=Human.prototype这种写法,所以我们通过创建一个空的构造函数,让这个函数的prototype指向Human.prototype,然后让Man.prototype等于这个空函数的实例,实现了原型链的继承。

2. class继承

class Human{
  constructor(name){
    this.name=name
  }
  run(){
    console.log('跑')
  }
}
class Man extends Human{
   constructor(name){
    super(name)
    this.gender='男'
   }
  fight(){
    console.log('打架')
  }
}

这种写法的优点是写起来比上面方便,缺点是原型链上的属性值只能是函数。

相关文章

  • JS继承

    JS中的继承 许多OO语言都支持两种继承方式:接口继承和实现继承; 因为JS中没有类和接口的概念 , 所以JS不支...

  • JS中基于原型实现继承

    本文不会对于JS中的继承机制进行深入研究,只聊js中基于原型实现继承的方式,如果需要了解JS中的继承机制及其相关背...

  • 2019-03-25 继承

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

  • [读] JS中的call()和apply()方法

    JS中的call()和apply()方法 实现继承 多重继承

  • JS中的继承

    1. prototype实现继承 由于IE不支持Man.prototype.proto=Human.prototy...

  • js中的继承

    方式一、原型链继承 分析: 这种方式实现的本质是通过将子类的原型指向了父类的实例,子类的实例就可以通过proto访...

  • js中的继承

    要使一个子类继承父类,需要两步实现:第一:继承父类自身的属性和方法第二:继承父类原型上的方法 "父类自身"属性和方...

  • js 中的继承

    在了解了js 中的原型链之后 (https://www.jianshu.com/p/1e683a9771c3),我...

  • JS中的继承

    JS作为面向对象的弱类型语言,继承也是其非常强大的特性之一。那么如何在JS中实现继承呢?让我们拭目以待。当然Jav...

  • JS中的继承

    以下内容总结自《js高级程序设计 第三版》 在许多面向对象的语言中,都支持接口继承和实现继承。 接口继承:只继承方...

网友评论

      本文标题:JS中的继承

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