想问下是不是JQuery块中若有回调函数先加载完其他部分再执行回调函数?因为如图,第一个a时0,第二个是2

 我来答
小胡胡qin
2017-04-03 · 超过24用户采纳过TA的回答
知道答主
回答量:89
采纳率:0%
帮助的人:31.3万
展开全部
其实第一个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
追问
厉害,懂了
当执蜀黍7048
2017-04-03 · TA获得超过230个赞
知道答主
回答量:401
采纳率:0%
帮助的人:67.7万
展开全部
其实回调函数没那么复杂的,在js里面,function你可以当成一个普通的参数。只要后面加上(),就表示调用这个函数了。 再看看下面这个例子 从上面的例子也可以看出来,其实每定义一个函数,都将函数入容器的栈,index就是函数名。默认是在window下,因此可以把字符串丢过去,在window下也可以通过字符串调用到这个回调函数。 带参数的话,可以采用上面的方式。 再复杂点的可以这个样子。当前前端开发中,这种方式很常见。这几种方式你都可以参考一
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式