奇怪的问题
我有一个对象,它创建一个类的实例,如下所示:
main = new Main();
Main.proto.setup() {
...
this.sys = new System(args)
...
}
对于这个类System,有一个方法setMode
,因此可以调用它:
main.sys.setMode(args)
在Main的各个地方调用 setMode
。我在Main有一个方法:
Main.proto.update() {
...(No args)
}
每次调用setMode时我都想调用它。但是我不想把它放在setMode
所谓的任何地方。我怎么能做到这一点?
答案 0 :(得分:1)
您可以在setMode
中创建功能Main
,它会调用this.sys.setMode
和this.update
,然后调用此函数而不是直接调用main.sys.setMode
。
Main.prototype.setMode = function(...args) {
this.sys.setMode(...args);
this.update();
}
你也可以像这样覆盖main.sys.setMode
方法:
(function(setModeCopy) {
main.sys.setMode = function(...args) {
main.update();
setModeCopy.call(main.sys, ...args);
}
}(main.sys.setMode));