Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 有人能给我解释一下jquery中函数的执行过程吗_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript 有人能给我解释一下jquery中函数的执行过程吗

Javascript 有人能给我解释一下jquery中函数的执行过程吗,javascript,jquery,ajax,Javascript,Jquery,Ajax,我对jquery中函数的执行周期有点怀疑。我正在尝试使用js做一些事情,在我的脚本中,我有一个自定义函数,它在单击按钮时调用。发生的情况是,当我调用函数时,它将进行一些ajax调用,并将结果分配给一个变量。据我所知,在执行函数之后下一个语句应该执行。但是这里发生的事情是在函数调用之后,在完成函数执行之前,执行下一个语句 我的脚本的结构是: var variable=false; function myfunction(e){ ..... ..... $.ajax({}); ..... conso

我对jquery中
函数的执行周期有点怀疑。我正在尝试使用
js
做一些事情,在我的
脚本中,我有一个
自定义函数
,它在单击按钮时调用
。发生的情况是,当我调用
函数时,它将进行一些
ajax
调用,并将结果分配给一个变量。据我所知,在执行
函数之后
下一个
语句
应该
执行
。但是这里发生的事情是在
函数
调用之后,在完成
函数
执行之前,执行下一个语句

我的脚本的结构是:

var variable=false;
function myfunction(e){
.....
.....
$.ajax({});
.....
console.log('inside : '+variable);
}
$('#button').click(function(){
....
....
myfunction(n);
console.log('called : '+variable);
....
$.ajax({});
....
....
});
控制台输出:

Ajax call from the function;
called : false
Ajax call from called function;
inside : true

有人能解释一下吗?…

它确实会这样,因为您的自定义函数是一个
Ajax调用
而不是一个普通的代码

Ajax代表异步Javascript和XML

因此,请求处理是同步进行的,这就是ajax所使用的

这就是为什么在完成函数执行之前,下一个语句仍在执行的原因。(异步)

希望这有帮助


注意:无论您在ajax的回调函数中添加了什么代码,它们都只会在ajax调用完成后执行

它确实会这样,因为您的自定义函数是一个
ajax调用
而不是普通代码

Ajax代表异步Javascript和XML

因此,请求处理是同步进行的,这就是ajax所使用的

这就是为什么在完成函数执行之前,下一个语句仍在执行的原因。(异步)

希望这有帮助


注意:无论您在ajax的回调函数中添加了什么代码,它们都只会在ajax调用完成后执行

它确实会这样,因为您的自定义函数是一个
ajax调用
而不是普通代码

Ajax代表异步Javascript和XML

因此,请求处理是同步进行的,这就是ajax所使用的

这就是为什么在完成函数执行之前,下一个语句仍在执行的原因。(异步)

希望这有帮助


注意:无论您在ajax的回调函数中添加了什么代码,它们都只会在ajax调用完成后执行

它确实会这样,因为您的自定义函数是一个
ajax调用
而不是普通代码

Ajax代表异步Javascript和XML

因此,请求处理是同步进行的,这就是ajax所使用的

这就是为什么在完成函数执行之前,下一个语句仍在执行的原因。(异步)

希望这有帮助


注意:无论您在ajax的回调函数中添加了什么代码,它们都将仅在ajax调用完成后执行

调用
.ajax

  • 指定一个事件处理程序,以便在收到HTTP请求响应时运行函数
  • 发送HTTP请求

下一行代码立即运行的原因与紧跟在
$('foo')之后的一行代码相同在传递给单击的函数之前运行。

调用
.ajax

  • 指定一个事件处理程序,以便在收到HTTP请求响应时运行函数
  • 发送HTTP请求

下一行代码立即运行的原因与紧跟在
$('foo')之后的一行代码相同在传递给单击的函数之前运行。

调用
.ajax

  • 指定一个事件处理程序,以便在收到HTTP请求响应时运行函数
  • 发送HTTP请求

下一行代码立即运行的原因与紧跟在
$('foo')之后的一行代码相同在传递给单击的函数之前运行。

调用
.ajax

  • 指定一个事件处理程序,以便在收到HTTP请求响应时运行函数
  • 发送HTTP请求

下一行代码立即运行的原因与紧跟在
$('foo')之后的一行代码相同在传递给单击的函数之前运行。

这就是js回调的威力

js回调将在之后执行操作,回调将在get响应时运行!但是js不会等待回调执行继续,以下函数将运行<代码>异步
是js的妙处

因此,在js文件中,您可以对某些内容进行ajax调用。当ajax运行时,控制台不会等到ajax完成


如果要执行ajax函数
sync
,可以在
params{async:false}中进行
config
,然后控制台将等待ajax函数完成,然后执行

这就是js回调的威力

js回调将在之后执行操作,回调将在get响应时运行!但是js不会等待回调执行继续,以下函数将运行<代码>异步
是js的妙处

因此,在js文件中,您可以对某些内容进行ajax调用。当ajax运行时,控制台不会等到ajax完成


如果要执行ajax函数
sync
,可以在
params{async:false}中进行
config
,然后控制台将等待ajax函数完成,然后执行

这就是js回调的威力

js回调w