关于javascript:js-原型和原型链解释

8次阅读

共计 577 个字符,预计需要花费 2 分钟才能阅读完成。

1,为什么须要原型?

用构造函数生成实例对象,有一个毛病,无奈共享属性和办法。

每一个实例对象,都有本人的属性和办法的正本。这不仅无奈做到数据共享,也是极大的资源节约

思考到这一点,设计 js 作者决定为构造函数设置一个 prototype 属性。

这个属性蕴含一个对象(以下简称 ”prototype 对象 ”),所有实例对象须要共享的属性和办法,都放在这个对象外面;那些不须要共享的属性和办法,就放在构造函数外面。

实例对象一旦创立,将主动援用 prototype 对象的属性和办法。也就是说,实例对象的属性和办法,分成两种,一种是本地的,另一种是援用的。

2,原型(prototype)

概念:每一个构造函数都有一个 prototype 属性,指向另一个对象。这个对象的所有属性和办法,都会被构造函数的实例继承。

3,原型的继承形式(两类 5 种)

1,构造函数绑定(应用 call 或 apply 办法,将父对象的构造函数绑定在子对象上,即在子对象构造函数中加一行)

2,prototype 模式

3,间接继承 prototype

4,利用空对象作为中介

5,拷贝继承

4,原型链

概念:在 javascript 中,每个对象都有一个指向它的原型 (prototype) 对象的外部链接。每个原型对象又有本人的原型,直到某个对象的原型为 null 为止,组成这条链的最初一环

正文完
 0