我试图覆盖对象的功能。
看一下这段代码:
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();
}
但是有没有其他方法可以在我的应用程序代码中定义选项对象 创建对象的另一个副本?