2

私は次のことをしようとしています:

function main(callback) {
   $.ajax('server-side', function() {
       this.callback.call("hello");
   }.bind({ callback: callback });
}

main(function(response) {
   alert(response);
});

応答はundefined、だと思います"hello"。なぜ何かアイデアはありますか?

4

2 に答える 2

4

call最初の引数は「this」への参照でなければなりません。関数を実行するコンテキストが「this」であること。 呼び出し機能 Mozilla MDN

于 2012-04-04T06:43:37.460 に答える
1

あなたが書いた :

function main(callback) {
   $.ajax('server-side', function() {
       this.callback.call("hello");
   }.bind({ callback: callback });
}

main(function(response) {
   print response;
});

印刷はjavascriptに存在しません。

それからあなたはthis.callback.callを書きました、それは間違っています

あなたは書くべきです

callback.call(this,"hello") , 

呼び出し関数のシグネチャを確認するだけです。

于 2012-04-04T06:45:08.027 に答える