Javascript - 在类中扩展方法

时间:2013-09-06 10:30:28

标签: javascript

所以我已经取消了课程

function myClass()
{
}

使用方法

myClass.prototype.theMethod=function()
{
}

哪个好,但我有一个情况,我需要使用这个类,但是在方法中添加额外的命令而不是覆盖整个事情,如果可能的话?

2 个答案:

答案 0 :(得分:0)

如果您需要覆盖某个对象中的操作,则可以执行以下操作:

var myInstance = new myClass();

myInstance.theMethod = function () {
    // do additional stuff
    // now call parent method:
    return myClass.prototype.theMethod.apply(this, arguments);
}

对于子类,解决方案几乎相同,但是您不是在实例上执行,而是在继承的“类”的原型上执行。

答案 1 :(得分:0)

像这样:

var theOldMethod = myClass.prototype.theMethod;
myClass.prototype.theMethod=function()
{
    //Do stuff here
    var result = theOldMethod.apply(this, arguments);
    //Or here
    return result;
}