2

我目前有一个函数,我最后在其他几个函数中调用它。而不是这样写:

function foo(){

    baz();
}

function bar(){

    baz();
}

function baz(){

}

baz()调用函数时有什么方法可以自动运行吗?也许通过修改其他函数的原型并将其添加为 IIFE?这可能吗?

4

1 回答 1

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();
}())
于 2013-05-16T08:06:41.027 回答