百度百科对应回调函数的定义 :
回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。
回调函数主要结构有三部分组成:主函数、调用函数和被调函数 ;
这段话可以看出 回调函数的核心就是函数指针
下面用代码演示 :
function f1 (a , b) {
if(a=="f"{ b();//说明b是一个函数, 执行他 } else{ console.log(b);//说明a不是一个函数 ,开始在控制台打印b } function f2 () { alert("我是回调函数 ,我会作为一个参数传入到其他函数里面" } //执行f1函数 f1("f", f2);
注释:
如果函数 f2 作为 f1 的一个参数, 也就是被调函数f2的指针的传入 f1 的话,然后就可以用这个指针来调用f2函数了 ;
那么我们就称f2是回调函数。
这里的指针指向的是函数 , 也就是指向 f2 的地址 , 根据这个地址, 我们便可以访问 f2 的函数了, 从而可以调用 f2 函数 ;
执行结果: