次のコードを想像してみてください。
fruitMixer = function(fruitHandler, action){
// get the given arguments in fruitHandler
var args = fruitHandler.arguments;
// retrieve these arguments outside the fruitHandler function
if(args[0] == undefined) return;
var action = args[0]['action'];
// do something if it wants to mix
if(action == 'mix'){
fruitHandler(args);
}else{
// do other stuff
}
}
fruitMixer(function({
'action': 'mix',
'apples': 3,
'peaches': 5}
){
// mix the fruits
});
私がやろうとしているのは、指定された無名関数の外部のパラメーターを取得することです。これらのパラメータを使用すると、上記のようなことができます。
関数自体の外部で引数にアクセスできないという理由だけで、このコードが機能しないことはわかっています。しかし、これを行う別の方法や回避策があるかどうか疑問に思っていましたか?