js执行顺序
当draw被调用时之后的执行顺序我觉得应该是先执行searchByStationName()然后searchByStationName2()再alert(coordina...
当draw被调用时
之后的执行顺序我觉得应该是先
执行searchByStationName()
然后searchByStationName2()
再alert(coordinate);
奇怪的是执行时我先看到了alert(coordinate);然后才是
执行searchByStationName()
然后searchByStationName2() 展开
之后的执行顺序我觉得应该是先
执行searchByStationName()
然后searchByStationName2()
再alert(coordinate);
奇怪的是执行时我先看到了alert(coordinate);然后才是
执行searchByStationName()
然后searchByStationName2() 展开
展开全部
1、注意执行的异步和同步。
2、从你的描述来看setSearchCompleteCallBack这个函数执行是一个异步过程,也就是不用等函数执行完,就接着往下执行。
3、所以先alert(coordinate);
4、但实际执行过程还是
1)、searchByStationName()
2)、searchByStationName2()
3)、alert(coordinate);
这你可以在每个函数第一个alert就能够看到现象。
2、从你的描述来看setSearchCompleteCallBack这个函数执行是一个异步过程,也就是不用等函数执行完,就接着往下执行。
3、所以先alert(coordinate);
4、但实际执行过程还是
1)、searchByStationName()
2)、searchByStationName2()
3)、alert(coordinate);
这你可以在每个函数第一个alert就能够看到现象。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个就是回调函数的概念了
回调函数:把一个函数作为参数传递到其他的函数里面,这个被传入的函数,就是回调函数。
例如:html5 canvas显示加载图片,开始的时候图片没有加载,但是又要获取他的width,height,于是写个回调函数传入img的onload方法里面,就可以了
这个类似:
隐式调用的匿名函数
function (searchResult) {...}
就是个回调函数
传入到了localSearch的setSearchCompleteCallback方法中,作为参数。
也就是说这个本来是最后才有的,所以才是先执行了那个alert,这个就是回调了
更多追问追答
追问
searchByStationName(); --------------------1
searchByStationName2();--------------------------2
alert(coordinate);-------------------------------3
为什么先显示了3
回调函数里也有一个alert(coordinate);,那个是我命名失误让你看误了
追答
我的意思就是先是这个3,回调:顾名思义:等主函数执行完后,再返回去调用
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-03-27
展开全部
这么说吧,你写的coordinate=***只是一个赋值操作,并没有立即调用啊。
如果你写的是
coordinate();
alert('1');
肯定是coordinate现在执行啊。
如果你这题没有alert,coordinate根本就不会执行。
如果你写的是
coordinate();
alert('1');
肯定是coordinate现在执行啊。
如果你这题没有alert,coordinate根本就不会执行。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询