今天来说说javascript中的继承. 我将介绍几种继承的方法:this.base,call,apply,prototype
同样来看代码吧.

第一部分: 使用this.base实现继承.支持派生类调用基类带参构造函数
javascript很好很强大-->(2)javascript继承<script type="text/javascript">
script>


运行结果:小a 18 男
噢,不错.成功喽. this.base = Person 很清晰的指明了基类, this.base(name,age)调用基类构造函数

第二部分: 使用prototype实现继承,不过很遗憾它不支持派生类调用基类带参构造函数

javascript很好很强大-->(2)javascript继承<script type="text/javascript">
script>

运行结果: undefined undefined 1.7 男
m1._height输出1.7说明Man成功继承了Person.
可是m1._name和m1._age输出undefined说明,new Man("小a",18)没有把参数传到Person中,以失败告终.
不过针对基类是无参构造函数使用prototype还是还有效

第三部分: 使用call 实现继承,不过可称之为伪继承

javascript很好很强大-->(2)javascript继承<script type="text/javascript">
script>

运行结果:小a 18 男
call()它的第一个参数是this指向的对象,所有的其他参数都直接传到function

第四部分: 使用apply实现继承,不过可称之为伪继承

javascript很好很强大-->(2)javascript继承<script type="text/javascript">
script>

运行结果:小a 18 男
apply()方法需要两个参数:this所指向的对象,和传到function的由参数组成的array

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-12-09
  • 2022-12-23
  • 2022-01-14
  • 2021-11-28
  • 2021-09-21
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-11-14
  • 2021-08-18
  • 2021-06-23
  • 2021-10-05
  • 2022-12-23
相关资源
相似解决方案