我目前有一个函数,我最后在其他几个函数中调用它。而不是像这样写:
function foo(){
baz();
}
function bar(){
baz();
}
function baz(){
}
调用功能时有没有办法让baz()
自动运行?也许通过修改其他功能的原型并将其添加为IIFE?这可能吗?
答案 0 :(得分:0)
你的意思是“模板方法”设计模式。如果是这样,试试这个:
function inherit(proto) {
var F = function() { };
F.prototype = proto;
return new F();
}
var template = {
process: function() {
this.mainfunction();
this.baz();
}
baz:function(){
}
};
(function run() {
var foo = inherit(template);
foo.mainfunction = function(){
}
foo.process();
var bar = inherit(template);
bar.mainfunction = function(){
}
bar.process();
}())