为什么js里这函数执行顺序会乱呢?

JavaScript016

为什么js里这函数执行顺序会乱呢?,第1张

getdata,getx和gety都是异步执行的函数,第二个参数是回调函数。

首先执行

var m

然后执行getdata,但是此时,getdata函数的操作并未完成,所以不会执行回调。

接着继续执行getx和gety,同理,他们也不会瞬间完成,所以回调也不会立即执行。

接着执行

alert("应该不会影响了吧")

然后过了一段时间(可能是几十毫秒,你感觉不到),getdata,getx,gety执行完毕。

哪个函数先执行完毕,哪个函数的回调就先触发。

所以你看到的顺序就是乱的。

改为下面代码就可以了

 del: function() {

       $("#box").fadeOut(200, function() {

           $(this).remove()

         testFn.add()

       })

   },