Javascript 为什么jqueryAjax回调函数不';不需要被调用吗?

Javascript 为什么jqueryAjax回调函数不';不需要被调用吗?,javascript,jquery,html,ajax,web-frontend,Javascript,Jquery,Html,Ajax,Web Frontend,有人告诉我,只有在传递参数的情况下才能调用带有参数的函数,但最近我接触了jQueryAjax,事情看起来有点不同。教程中的一个示例可以做到这一点: $("#div1").load("demo_test.txt", function(responseTxt, statusTxt, xhr) { if (statusTxt == "success") alert("External content loaded successfully!"); if (statusTxt == "

有人告诉我,只有在传递参数的情况下才能调用带有参数的函数,但最近我接触了jQueryAjax,事情看起来有点不同。教程中的一个示例可以做到这一点:

$("#div1").load("demo_test.txt", function(responseTxt, statusTxt, xhr) {
  if (statusTxt == "success")
    alert("External content loaded successfully!");

  if (statusTxt == "error")
    alert("Error: " + xhr.status + ": " + xhr.statusText);
});

注意到有三个参数的函数了吗?是的,那个。令人困惑的是,它的参数显然是不知从何处传递/映射的,但它在IF和alert中被使用,并且它工作正常。怎样?我是说怎么做

不幸的是,这是不对的, 在JavaScript中,您可以调用正在等待参数的函数,而不发送任何:

函数和(x,y){
警报(x+y);
}

sum()不幸的是,这是不对的, 在JavaScript中,您可以调用正在等待参数的函数,而不发送任何:

函数和(x,y){
警报(x+y);
}

sum()您的第一个假设是错误的,因为:

  • JavaScript函数不会对参数值(参数)执行任何检查

  • JavaScript函数不检查收到的参数数量

因此,将使用1、2或3个参数(甚至可能是0)调用回调


当呼叫完成时,它将调用您的回调。

您的第一个假设是错误的,如下所示:

  • JavaScript函数不会对参数值(参数)执行任何检查

  • JavaScript函数不检查收到的参数数量

因此,将使用1、2或3个参数(甚至可能是0)调用回调


当调用完成时,它将调用您的回调。

它们是从
load
函数传递过来的<代码>加载
以类似于
回调(responseText、statusTxt、xhr)的内容结束
其中
回调
是上面定义的函数。下面是一个简单的回调示例:如果检查jQuery源代码,您可以看到调用函数的位置:。对于那些懒得点击的人来说,这是AJAX请求的
complete
处理程序:)他们从
load
函数中得到传递<代码>加载
以类似于
回调(responseText、statusTxt、xhr)的内容结束
其中
回调
是上面定义的函数。下面是一个简单的回调示例:如果检查jQuery源代码,您可以看到调用函数的位置:。对于那些懒得点击的人来说,它是AJAX请求的
完整的
处理程序:)