今天突然被领导问到什么是**回调函数**,没想到平常写js经常用到的东西,突然之前让说出个确切,有点手足无措,趁着夜深人静,好好整理下思路。
根据百度百科,回调函数的定义如下:
⑴定义一个回调函数;
⑵提供函数实现的一方在初始化的时候,将回调函数的函数指针注册给调用者;
⑶当特定的事件或条件发生的时候,调用者使用函数指针调用回调函数对事件进行处理。
接来下我阐述下自己的理解:
普通函数的调用:比如说叫醒是一个函数,上学的时候,你趴在桌子上睡觉,同桌来叫醒你,就是一个普通的函数调用过程~
回调函数的调用:按照上面的例子,有一天你突然想在上课的时候睡一会儿,于是你和你同桌说:**老师来了叫醒我啊**!这里的“叫醒”是你自己定义的一个回调函数,等于上述步骤(1),你和你同桌说叫醒我,这个过程相当于给你同桌注册了一个你已经定义好的回调函数,相当于上述步骤(2);“老师来了”是触发这个函数的事件,相当于上述步骤(3)