首页 > 代码库 > 《JavaScript语言精粹》—— 继承篇

《JavaScript语言精粹》—— 继承篇

四、继承

(1) 伪类

JavaScript不直接让对象从其他对象那里继承,反而插入了一个多余的间接层:通过构造器函数产生对象。

当一个函数对象被创建时,Function构造器产生的函数对象会运行类似这样的一些代码:

this.prototype = { constructor : this};

新函数对象被赋予一个prototype属性,它的值是一个包含constructor属性且属性值为该新函数的对象。这个prototype对象是存放继承特征的地方。因为JavaScript语言没有提供一种方法去确定哪个函数时打算用来做构造器的,所以每个函数都会得到一个prototype对象。constructor属性没什么用,主要是prototype。

当采用构造器调用模式,即用new前缀去调用一个函数,函数执行的方式会被修改。

(2) 原型

一个新的对象可以继承一个旧对象的属性。

这一节讲的东西不多,很多东西其实在其他的书中更加详细,这里就不多介绍了吧。

《JavaScript语言精粹》—— 继承篇