想问下是不是JQuery块中若有回调函数先加载完其他部分再执行回调函数?因为如图,第一个a时0,第二个是2
展开全部
其实第一个a=0的原因是因为$.post函数使用的是异步请求的方法,$.post函数里的function,和test()底下的alert(a)是同时运行的,所以第一次alert的亏手时候程序是并没有先经过$.post里面的a=2的。
如果$.post函数改成$.ajax函咐乱数,然后把$.ajax函数里的async参数设置成false,这时就是同步请求了,程序在运行到$.ajax函数的时候会等到运行完$.ajax里面的回调函数再往下执行,这时第一次alert的a就是等于2。
关于ajax的详细用法可以看w3c的文销简嫌档:http://www.w3school.com.cn/jquery/ajax_ajax.asp
如果$.post函数改成$.ajax函咐乱数,然后把$.ajax函数里的async参数设置成false,这时就是同步请求了,程序在运行到$.ajax函数的时候会等到运行完$.ajax里面的回调函数再往下执行,这时第一次alert的a就是等于2。
关于ajax的详细用法可以看w3c的文销简嫌档:http://www.w3school.com.cn/jquery/ajax_ajax.asp
追问
厉害,懂了
展开全部
其实回调函数没那么复杂的,在js里面,function你可以当成一个普通的参数。只要后面加上(),就表示调用这个函数了。 再看看下面这个例子 从上孙瞎面的例子也可以看出来,其实每定义一个函数,都将函数入容器的栈,index就是函数名。默认是在window下,因此可以把字符串丢过去,在window下也可以通过字符串调用到这个回调函数。 带参数则戚的话,可以采用上面的方式。 再复杂点的可以这个样子。当前前端开发中,这种则盯空方式很常见。这几种方式你都可以参考一
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询