2

コールバック関数の引数(a、b)を抽出し、関数呼び出しに別のパラメーター(c)を追加するにはどうすればよいですか?

function mycallback(a, b, c) {
  // do stuff with a, b, c
}

function perform(callback) {
  // I need to extract a and b here and add c:
  // ???
  //callback.apply(???);     
}

perform( function() { mycallback(1, 2) } );
4

1 に答える 1

2

私が考えることができる唯一の方法は、パラメーターをperformそれ自体に渡し、それをコールバックに渡すことです。

function perform(callback) {
  var args = Array.prototype.slice.apply(arguments).splice(1);
  // use args... add c with args.push(c)...
  callback.apply(this, args);
}

perform(mycallback, 1, 2);
于 2011-09-12T15:42:19.163 に答える