、jQuery.proxy機能の使用状況:jQuery.proxyの3番目のパラメータは何のために使われていますか? jQueryのAPIドキュメントで
jQuery.proxy(function, context)
機能コンテキスト変更されます機能。
コンテキスト関数のコンテキスト(this)を設定するオブジェクト。
jQuery.proxy(context, name)
コンテキスト機能のコンテキストを設定すべきオブジェクト。
コンテキストが変更される関数の名前(コンテキストオブジェクトのプロパティである必要があります)。
proxy : function(fn, proxy, thisObject){
if (arguments.length === 2) {
if (typeof proxy === "string") {
thisObject = fn;
fn = thisObject[proxy];
proxy = undefined;
} else if (proxy && !jQuery.isFunction(proxy)) {
thisObject = proxy;
proxy = undefined;
}
}
if (!proxy && fn) {
proxy = function() {
return fn.apply(thisObject || this, arguments);
};
}
// So proxy can be declared as an argument
return proxy;
}
しかし、私は機能プロキシの、jQueryのソースコードに見たとき。 3つのパラメータが宣言されています。
だから私は、第三のparamの使用は何だろう、コードを理解することはできません:(
私は機能をテストするためのコードセグメントを記述します。
var someObj = { somefnc : function() {} };
function fnc() {
this.somefnc();
console.log(arguments);
}
var proxyedFnc = jQuery.proxy(fnc, undefined, someObj, "arg1","arg2");
proxyedFnc();
//output: []
と引数が渡されていなかった私はなぜだろうFNCに..以下
マイコードはjQuery 1.5.1に由来します。しかし、私はAPI doc – ThemeZ
@ThemeZで後で変更を見つけることはできません。あなたはAPIではなくソースコードについて尋ねているので、これはあまり関係ありません。 – David
@Davidあなたは正しいと思いますが、私は以前のAPI文書をどこで見つけることができるのだろうかと思っています。 – ThemeZ