原型
上一节提到了仅仅通过构造函数创建实例,他们的成员并不共用,很明显这不是一个好的实现方法。
这一节我们向你隆重的介绍prototype这个概念,它便是原型。任何类型都会有属于自己的原型,并且原型上定义的成员,可以在每个实例中引用,并且是共用的。我们可以先看看右边示例的运行结果。
结果很明显,这次两个不同实例的startWork是相同的了,这意味着不同实例间共用了该方法。
那么在设计JavaScript面向对象类型的时候,我们一般遵循以下规则:
- 因为实例不同而不同的内容,用this关键字声明
- 无论实例怎样内容完全相同的成员,定义在prototype上
利用原型,再定义一个endWork的方法试试。