1.什么是回调函数?ajax
-- 简单点说,一个函数被做为参数传递给另外一个函数(在这里咱们把另外一个函数叫作“otherFunction”),回调函数在otherFunction中被调用。函数
--能够是匿名函数也能够是命名函数spa
2.回调函数的特色3d
(1)本身定义的函数blog
(2)你没有调用生命周期
(3)最终它执行了队列
3.常见的回调函数事件
(1)DOM事件回调函数ip
(2)定时器回调函数回调函数
(3)ajax请求回调函数
略。(后续相应内容补充)
(4)生命周期回调函数
略。(后续相应内容补充)
4.拓展
--代码分类
(1)初始化代码:通常的代码,包括设置定时器,绑定监听,发送ajax请求……
(2)回调代码:回调函数的代码
JavaScript引擎,在执行代码时,先执行初始化代码,等到初始化代码所有执行结束时,再执行回调代码。
执行结果:
重上述案例中,咱们能够 看到回调函数无论在整个代码的什么位置,它都要比初始化代码执行完后才会执行。
上述代码执行流程:前两代码打开了定时器,此时JavaScript引擎将回调函数,和设置的时间交给定时器管理模块(事件管理模块),待到事件触发时,回调函数加入到回调队列中(callback queue),此时处于待处理状态。若是初始化代码所有执行结束,才会循环遍历回调队列中的回调函数。在上述代码中先加入队列的是延时时间为0ms的定时器,而后才是2000ms的定时器,因为队列的特性是先进先出,因此两个定时器间,先执行第二个定时器,在执行第一个定时器。
(此处涉及到时间循环模型,后续内容会补充,这里咱们只须要大体了解回调函数是何时执行的)