频道栏目
首页 > 资讯 > JavaScript > 正文

js执行的顺序

17-07-10        来源:[db:作者]  
收藏   我要投稿

js执行的顺序,在使用easyui的时候,被js的执行顺序搞懵了,仔细调了一下,原理还没有搞太懂,但是执行的顺序大体弄懂了。

示例代码:

function main () {

var a1 = " "; var a2 = " ";

if ( a ( a1, a2 ) ) {

b( b1, b2 );

}

}

function a ( args0, args1 ) {

//业务处理

var flag = true;

$.messager.confirm("title ", "msg",function(r) {

if ( r ) {

$.ajax({

url : url,
type : 'post',
data: data,
success : function(data) {

var re = JSON.parse(data);

if (re.success) {

flag = true;

} else {

flag = false;

}

 

}

});

}

}

return flag;

}

 

function b ( args0, args1 ) {

//业务处理

$.ajax({

url : url,
type : 'post',
data: data,
success : function(data) {

var re = JSON.parse(data);

if (re.success) {

alert(re.msg);

}

}

});

}

以上就是大体的代码,按照js顺序执行的逻辑应该是调用main函数,然后进行判断执行完函数a的返回结果以后,根据结果判断是否执行函数b。

但是,实际的情况是:调用main函数时,先执b,然后才弹出对话框提示是否执行 a函数的ajax。 在运行时用alert() 弹出执行顺序时,调用main函数时,执行 a ,直接返回true,接着执行b函数,然后在执行a的对话框那个ajax。

这样,显然是没有按照所需要的来进行执行,根据逻辑修改代码,把函数a的flag默认值改为false,并在a函数的ajax中的re.success 判断中加上函数b。

修改后的执行顺序是 main --->a -------(成功) ------>b -------->结束

+--------(失败)------->结束

相关TAG标签
上一篇:CSS3新特性[转]
下一篇:js得到今天日期、本周、本月、本年起始和结束日期
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站