解释的JavaScript函数调用保持返回null

解释的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)

我有一个代码可以运行,收集ajax库中的数据,然后我需要获取,这样用户就可以将自己的函数添加到库中并运行它。有点像美元。很难解释我的意思

范例

虽然我不知道如何确保数据等于ajax.response,它在技术上是XMLHttpRequest.responseText的集合

我试着在我的代码中这样做

 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!