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 回答