回调函数解析

一个普通的带函数的参数:

function f1(f2){
   //处理其他的事情,执行f2
  f2()
}

回调函数

$(div).on("click",,function(){})

回调包含同步回调和异步回调。只不过异步回调用的多一些而已。

回来讲为什么js是单线程但是还可以进行异步,就是因为浏览器的内核是多线程。

js在定制的初期就实现了很多的异步方法,setTimeout,setInterval,ajax等

异步的实现和我们一点关系都没有,并不是我们自己用原生js写出来的。

所以异步是:当执行到异步函数,浏览器自己会新开一个线程,监听请求结果。

另外,这个异步方法中有一个函数,js线程将这个函数交给浏览器开启的新线程,监听请求结果。
等到请求结果出现时,将这个函数放到任务列表中。
js线程在执行完栈中的代码后,查看任务列表。---event loop

之前以为是异步回调进行注册之后,直接将回调的函数放入事件队列,其实是异步先浏览器单开一个线程进行执行,有结果之后再将回调函数放入事件队列,等待js线程上的代码执行完毕,执行异步回调的函数。

你可能感兴趣的:(回调函数解析)