我正在尝试执行以下操作:
function main(callback) {
$.ajax('server-side', function() {
this.callback.call("hello");
}.bind({ callback: callback });
}
main(function(response) {
alert(response);
});
回应是undefined
,我希望它是"hello"
。任何想法为什么?
我正在尝试执行以下操作:
function main(callback) {
$.ajax('server-side', function() {
this.callback.call("hello");
}.bind({ callback: callback });
}
main(function(response) {
alert(response);
});
回应是undefined
,我希望它是"hello"
。任何想法为什么?
call
第一个参数应该是对“this”的引用。作为“this”你想要执行你的函数的上下文。
调用函数 Mozilla MDN
你写了 :
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") ,
只需检查调用函数签名。