JS的继承

原型链是JavaScript中实现继承的默认方式。

首先先定义三个构造函数:

function Shape(){
    this.name = 'Shape';
    this.toString = function(){
        return this.name;
    }
}
function ShapeTwo(){
    this.name = 'ShapeTwo';
}
function ShapeThree(){
    this.name = 'ShapeThree';
}

接下来,进行继承:

ShapeTwo.prototype = new Shape();
ShapeThree.prototype = new ShapeTwo();

我们是把对象创建在ShapeTwo的prototype属相中,也就是我们用构造器Shape()(通过new 操作)另建立了一个新的对象,然后用它覆盖ShapeTwo构造器的prototypeaa属性。

之后,我们要对ShapeTwo、ShapeThree的constructor属性进行相应的重置。

ShapeTwo.prototype.constructor = ShapeTwo;

ShapeThree.prototype.constructor = ShapeThree;

之后,进行测试:

var shapeThree = new ShapeThree();
var shapeTwo = new ShapeTwo();

这个测试说明,还是需要重置constructor的!

ShapeTwo
原文地址:https://www.cnblogs.com/bluedeblog/p/13865453.html