话本小说网 > 灵异悬疑小说 > 魔镜的故事
本书标签: 灵异悬疑  作者脑洞奇葩  悬疑     

继续学习

魔镜的故事

什么是原型?

任何对象实例都有一个原型,也叫原型对象,这个原型对象由对象的 内置属性_proto_指向它的构造函数的 prototype 指向的对象,即任何对 象都是由一个构造函数创建的,但是不是每一个对象都有 prototype, 只有方法才有 prototype。

什么是原型链?

原型链基本思想是利用原型让一个引用类型继承另一个引用类型的属性和方法。我们知道,每个构造函数都有一个原型对象,每个原型对象都 有一个指向构造函数的指针,而实例又包含一个指向原型对象的内部指 针。 原型链的核心就是依赖对象的_proto_的指向,当自身不存在的属性 时,就一层层的扒出创建对象的构造函数,直至到 Object 时,就没有 _proto_指向了。因为_proto_实质找的是 prototype,所以我们只要找这个链条上的构造 函数的 prototype。 其中 Object.prototype 是没有_proto_属性的,它 ==null。每个构造函数都有一个原型对象,原型对象都包含一个指向构造函数的 指针,而实例都包含指向原型对象内部的指针。 我们让原型对象(1)等 于另一个原型对象的实例(2), 此时原型对象(2)将包含一个指向原型对象(1)的指针, 再让原型对象(2)的实例等于原型对象(3),如此层层递进就构成了实 例和原型的链条,这就是原型链的概念 每个构造函数都有一个原型对象,原型对象都包含一个指向构造函数想 指针(constructor),而实例对象都包含一个指向原型对象的内部指针 (__proto__)。如果让原型对象等于另一个原型对象的实例,此时的原型 对象将包含一个指向另一个原型的指针(__proto__),另一个原型也包含 着一个指向另一个构造函数的指针(constructor)。假如另一个原型又是 另一个类型的实例……这就构成了实例与原型的链条。也叫原型链

原型继承?

原型继承是 js 的一种继承方式,原型链作为实现继承的主要方法,其基本 思路是利用原型让一个引用类型继承另一个引用类型的属性和方法。原型继承:利用原型中的成员可以被和其相关的对象共享这一特性,可 以实现继承,这种实现继承的方式,就叫做原型继承。

原型继承

原型继承是 js 的一种继承方式,原型链作为实现继承的主要方法,其基本 思路是利用原型让一个引用类型继承另一个引用类型的属性和方法, 原型继承:利用原型中的成员可以被和其相关的对象共享这一特性,可 以实现继承,这种实现继承的方式,就叫做原型继承

特点:

非常纯粹的继承关系,实例是子类的实例,也是父类的实例

父类新增原型方法/原型属性,子类都能访问到

简单,易于实现

缺点:

要想为子类新增属性和方法,必须要在new Animal()这样的语句之后执行,不能放到构造器中

无法实现多继承

来自原型对象的所有属性被所有实例共享(来自原型对象的引用属性是所有实例共享的)

创建子类实例时,无法向父类构造函数传参

孟浩看了之后更是一脸懵。

上一章 学习了 魔镜的故事最新章节 下一章 学习自媒体