現在、他のいくつかの関数で最後に呼び出す関数があります。このように書く代わりに:
function foo(){
baz();
}
function bar(){
baz();
}
function baz(){
}
baz()
関数を呼び出すときに自動的に実行する方法はありますか? おそらく、他の関数のプロトタイプを変更して、IIFE として追加することによってですか? これは可能ですか?
現在、他のいくつかの関数で最後に呼び出す関数があります。このように書く代わりに:
function foo(){
baz();
}
function bar(){
baz();
}
function baz(){
}
baz()
関数を呼び出すときに自動的に実行する方法はありますか? おそらく、他の関数のプロトタイプを変更して、IIFE として追加することによってですか? これは可能ですか?
「テンプレート方式」のデザインパターンのようなものでしょうか。もしそうなら、これを試してください:
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();
}())