定义函数原型的对象

时间:2014-09-20 05:05:43

标签: javascript prototype

我试图覆盖对象的功能。

看一下这段代码:

var renderer = function(options) {

    this.options = options || {};
}


renderer.prototype.init = function() {

    if(this.options.make) {

        console.log('making ....');
    }
}

现在,我的应用程序代码是:

 var myRendering = new renderer({make: true});

 var oldInit = myRendering.init;
 myRendering.init = function() {

    console.log('pre make stuff here');

    oldInit();
 }

现在,如果我打电话

myRendering.init();

我明白了,

TypeError: Cannot read property 'make' of undefined

预期产出:

pre make stuff here    
making ....

我知道,我可以这样做:

 var myRendering = new renderer({make: true});

 var oldRendering = new renderer({make: true});
 myRendering.init = function() {

    console.log('pre make stuff here');

    oldRendering.init();
 }

但是有没有其他方法可以在我的应用程序代码中定义选项对象 创建对象的另一个副本?

0 个答案:

没有答案