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