多个功能实例是否发生

时间:2013-12-08 07:07:09

标签: javascript prototype

以下代码......

function ClassA() {
    this.name = "ClassA";
    this.sayParentName = function () {
        console.log(this.name);
    };
};

function ClassB() {
    this.name = "ClassB";
    sayName = function () {
        console.log(this.name);
    };
};
ClassB.prototype = new ClassA();

var test1 = new ClassB();
var test2 = new ClassB();
test1.sayParentName();
test2.sayParentName();

内存中只有sayParentNameClassA的实例?或者是为创建的ClassB的每个新对象创建的内存中的新实例(每个ClassB都有自己的sayParentName函数,它继承而不是仅使用单个sayParentName父类)

如果创建了一个新实例,唯一的办法是将ClassA的原型设置为函数(sayParentName),例如在创建ClassA对象之后

ClassA.prototype.sayParentName = function() { console.log( this.name) );

0 个答案:

没有答案