0

関数にラップせずに関数 a をプロキシすることはできません。

function a(b) {
  if (arguments.length != 0){
    throw 'illegal';
  }
  alert(this);
}


jQuery.proxy(a,"Great!");  /// throw error because b is an event.
jQuery.proxy(a,"Great!",undefined); // throw error because length is 1
jQuery.proxy(function(){a();},"Great!"); // ok, but not directly.

関数 a を変更できません。

何か案は?

4

1 に答える 1

0

したがって、バインドされた関数を作成しようとしていますが、引数を削除しています。

その場合、$.proxyラッピングは単純な解決策ではありません。次のように 1 つのラッピングだけで実行できます。

function() { a.call("Great!") }
于 2013-08-12T15:54:27.143 に答える