一尘不染

使用JavaScript原型的调用方法

javascript

如果重写了JavaScript中的原型方法,则可以调用该基础方法吗?

MyClass = function(name){
    this.name = name;
    this.do = function() {
        //do somthing 
    }
};

MyClass.prototype.do = function() {  
    if (this.name === 'something') {
        //do something new
    } else {
        //CALL BASE METHOD
    }
};

阅读 258

收藏
2020-05-01

共1个答案

一尘不染

我不明白您到底想做什么,但是通常按照以下方式完成特定于对象的行为:

function MyClass(name) {
    this.name = name;
}

MyClass.prototype.doStuff = function() {
    // generic behaviour
}

var myObj = new MyClass('foo');

var myObjSpecial = new MyClass('bar');
myObjSpecial.doStuff = function() {
    // do specialised stuff
    // how to call the generic implementation:
    MyClass.prototype.doStuff.call(this /*, args...*/);
}
2020-05-01