阮一峰文档备忘
Javascript 面向对象编程(一):介绍封装
Javascript 面向对象编程(二):介绍构造函数实现继承
Javascript 面向对象编程(三):介绍不使用构造函数实现继承
构造函数的继承:原文地址
- 对Cat的prototype对象重新赋值,相当于完全删除了prototype 对象原先的值,然后赋予一个新值
Cat.prototype = new Animal();
- 任何一个prototype对象都有一个constructor属性,指向它的构造函数。
alert(Cat.prototype.constructor == Animal); //true
- 每一个实例也有一个constructor属性,默认调用prototype对象的constructor属性。
alert(cat1.constructor == Cat.prototype.constructor); // true
- 编程时务必要遵守:如果替换了prototype对象,那么,下一步必然是为新的prototype对象加上constructor属性,并将这个属性指回原来的构造函数。
o.prototype = {};
o.prototype.constructor = o;