0

我定义了一个javascript继承函数并尝试继承一个类

function extends(Child, Parent) {
    var F = function(){};
    F.prototype = Parent.prototype;
    Child.prototype = new F();
    Child.prototype.constructor = Child;
    Child.uber = Parent.prototype;
}



function MyClass (){



};

MyClass.prototype.doSomeThing=function(){


};

然后我写了

    var a={};
    extends( a  , MyClass  );
    a.doSomeThing();

但它报告 a.doSomeThing 不是一个函数

欢迎任何评论

4

1 回答 1

0

您的变量 A 是一个对象,而不是构造函数/函数,因此 a.doSomething 不是函数,但 a.prototype.doSomething 是。

将 a 转换为函数或松开 Child.prototype = .. 以使其工作。

于 2013-05-23T10:06:09.717 回答