解释的JavaScript函数调用保持返回null
我有一个代码可以运行,收集ajax库中的数据,然后我需要获取,这样用户就可以将自己的函数添加到库中并运行它。有点像美元。很难解释我的意思 范例 虽然我不知道如何确保数据等于ajax.response,它在技术上是XMLHttpRequest.responseText的集合 我试着在我的代码中这样做解释的JavaScript函数调用保持返回null,javascript,ajax,function,call,Javascript,Ajax,Function,Call,我有一个代码可以运行,收集ajax库中的数据,然后我需要获取,这样用户就可以将自己的函数添加到库中并运行它。有点像美元。很难解释我的意思 范例 虽然我不知道如何确保数据等于ajax.response,它在技术上是XMLHttpRequest.responseText的集合 我试着在我的代码中这样做 var ajax = { response:null, fnDone:null, done:function(fn){ return ajax.done.call(fn)
var ajax = {
response:null,
fnDone:null,
done:function(fn){
return ajax.done.call(fn);
},
init:function(){ //js to start xml
ajax.process();
},
process:function(){ // js to finish XML
ajax.done(ajax.fnDone);
}
ajax:function(opts){
ajax.fnDone = opts.done;
}
}
只是不起作用?有人能更好地解释一下call的论点吗
更新
我需要了解如何使参数成为预定义变量
例:
functiondata{console.logdata;}
而数据或任何他们想要作为参数名称的东西都被预定义为ajax.response.call希望这是第一个参数,然后依次是函数的每个参数
var Bob = { name : "Bob" },
sayName = function (greeting) { console.log(greeting + " " + this.name + "!"); };
sayName.call(Bob, "Hi, I'm"); // "Hi, I'm Bob!"
如果传入null或undefined作为第一个参数,则函数中的该参数将为window
当然,在理想情况下,为了避免这种头发,您的函数应该在编写/调用时考虑特定的对象,或者应该避免在函数内部使用这种方法。
两者都有时间和地点。您使用jQuery吗?你检查过文档了吗:?我没有使用jquery,我在写我自己的库,我试图用更多信息更新我的问题。我现在脑子里都在想:对不起,根据你告诉我的,我会再向伊托克开一枪,这样它就不能完全满足我的需要了。我希望参数是xhr.responseText的responseText,以便它们可以在以后处理和使用它。
_$.ajax({
url:"url",
cache:false
}).done(
var Bob = { name : "Bob" },
sayName = function (greeting) { console.log(greeting + " " + this.name + "!"); };
sayName.call(Bob, "Hi, I'm"); // "Hi, I'm Bob!"
var name = "Steve";
sayName.call(Bob, "I'm"); // I'm Bob!
sayName.call(null, "I'm"); // I'm Steve!