重学JS,如何深入聊聊那些被推荐的继承方法及其原理?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2401个文字,预计阅读时间需要10分钟。
模式 + 继承 + 原型实现,当原型不是本文重点时,我们可以简单复习一下:原型概念非常简单:所有对象都有一个属性 __proto__,指向一个对象,这个对象就是它的原型。原型也是对象,因此它也有原型,层层向上,直到找到 Object.prototype,它是所有对象的原型。
原型
继承得靠原型来实现,当然原型不是这篇文章的重点,我们来复习一下即可。
其实原型的概念很简单:
- 所有对象都有一个属性 __proto__ 指向一个对象,也就是原型
- 每个对象的原型都可以通过 constructor 找到构造函数,构造函数也可以通过 prototype 找到原型
- 所有函数都可以通过 __proto__ 找到 Function 对象
- 所有对象都可以通过 __proto__ 找到 Object 对象
- 对象之间通过 __proto__ 连接起来,这样称之为原型链。当前对象上不存在的属性可以通过原型链一层层往上查找,直到顶层 Object 对象
其实原型中最重要的内容就是这些了,完全没有必要去看那些长篇大论什么是原型的文章,初学者会越看越迷糊。
当然如果你想了解更多原型的深入内容,可以阅读我 之前写的文章。
ES5 实现继承
ES5 实现继承总的来说就两种办法,之前写过这方面的内容,就直接复制来用了。
总的来说这部分的内容我觉得在当下更多的是为了应付面试吧。
本文共计2401个文字,预计阅读时间需要10分钟。
模式 + 继承 + 原型实现,当原型不是本文重点时,我们可以简单复习一下:原型概念非常简单:所有对象都有一个属性 __proto__,指向一个对象,这个对象就是它的原型。原型也是对象,因此它也有原型,层层向上,直到找到 Object.prototype,它是所有对象的原型。
原型
继承得靠原型来实现,当然原型不是这篇文章的重点,我们来复习一下即可。
其实原型的概念很简单:
- 所有对象都有一个属性 __proto__ 指向一个对象,也就是原型
- 每个对象的原型都可以通过 constructor 找到构造函数,构造函数也可以通过 prototype 找到原型
- 所有函数都可以通过 __proto__ 找到 Function 对象
- 所有对象都可以通过 __proto__ 找到 Object 对象
- 对象之间通过 __proto__ 连接起来,这样称之为原型链。当前对象上不存在的属性可以通过原型链一层层往上查找,直到顶层 Object 对象
其实原型中最重要的内容就是这些了,完全没有必要去看那些长篇大论什么是原型的文章,初学者会越看越迷糊。
当然如果你想了解更多原型的深入内容,可以阅读我 之前写的文章。
ES5 实现继承
ES5 实现继承总的来说就两种办法,之前写过这方面的内容,就直接复制来用了。
总的来说这部分的内容我觉得在当下更多的是为了应付面试吧。

