如何深入理解JavaScript面向对象中的继承机制及其应用?

2026-04-09 01:540阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计834个文字,预计阅读时间需要4分钟。

如何深入理解JavaScript面向对象中的继承机制及其应用?

一、继承的概念 + 子类共享父类的数据和方法的行性行为,即称为继承。

二、如何实现继承?探究JavaScript继承的本质 + 2.1 构造函数之间的复制粘贴 + 第一条路径是通过构造函数来继承,这可以通过构造函数来实现继承。

如何深入理解JavaScript面向对象中的继承机制及其应用?

一、继承的概念

子类共享父类的数据和方法的行为,就叫继承。

二、E55如何实现继承?探索JavaScript继承的本质

2.1构造函数之间的“复制粘贴”

第一条路是通过构造函数来继承,这可以理解为子类直接复制了父类构造函数的代码,然后按照一定的规矩“粘贴”在自己的构造函数中,为己所用。举个例子:

  

如果A要继承B的属性,是不是直接把this.name = name复制粘贴到A函数就可以了?简单粗暴。

所以在A中,直接执行B函数,不就等于执行了this.name = name吗。

  

直接这样尝试下,发现是不行的,这是因为B中的this指向B的实例化对象,A中的this指向A的实例化对象,所以要统一this的指向。

  

这样,就完成了一次合乎规范的构造函数之间的“代码复制粘贴”,也就是继承。这其实也是后面ES6中super关键字的实现原理。

阅读全文

本文共计834个文字,预计阅读时间需要4分钟。

如何深入理解JavaScript面向对象中的继承机制及其应用?

一、继承的概念 + 子类共享父类的数据和方法的行性行为,即称为继承。

二、如何实现继承?探究JavaScript继承的本质 + 2.1 构造函数之间的复制粘贴 + 第一条路径是通过构造函数来继承,这可以通过构造函数来实现继承。

如何深入理解JavaScript面向对象中的继承机制及其应用?

一、继承的概念

子类共享父类的数据和方法的行为,就叫继承。

二、E55如何实现继承?探索JavaScript继承的本质

2.1构造函数之间的“复制粘贴”

第一条路是通过构造函数来继承,这可以理解为子类直接复制了父类构造函数的代码,然后按照一定的规矩“粘贴”在自己的构造函数中,为己所用。举个例子:

  

如果A要继承B的属性,是不是直接把this.name = name复制粘贴到A函数就可以了?简单粗暴。

所以在A中,直接执行B函数,不就等于执行了this.name = name吗。

  

直接这样尝试下,发现是不行的,这是因为B中的this指向B的实例化对象,A中的this指向A的实例化对象,所以要统一this的指向。

  

这样,就完成了一次合乎规范的构造函数之间的“代码复制粘贴”,也就是继承。这其实也是后面ES6中super关键字的实现原理。

阅读全文