在其他功能中自动调用功能

时间:2013-05-16 07:46:04

标签: javascript

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

function foo(){

    baz();
}

function bar(){

    baz();
}

function baz(){

}

调用功能时有没有办法让baz()自动运行?也许通过修改其他功能的原型并将其添加为IIFE?这可能吗?

1 个答案:

答案 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();
}())