无参数类继承的问题
说到Javascript的类继承,就必然离不开原型链。先看一段示例代码,实现B继承于A:
function A() {
}
A.prototype.a1 = function() {
};
function B() {
}
B.prototype = new A();
B.prototype.b1 = function() {
};
var b = new B();
alert(b.constructor == A); // true
alert(b.constructor == B); // false
这段代码的主要问题是:
需要实例化A作为B的原型,此时就执行了A的构造函数。但按照面向对象的规则,实例化B之前,B及其父类A的构造函数都不应该执行。更改了B的prototype,导