在弄懂回调函数的之前我们要先弄懂什么是高阶函数:所谓高阶函数, 就是值函数的一个参数是函数(这个参数就是回调函数) , 或者函数的返回值是函数 , 满足这两个的其中一个 就是 高阶函数
首先我们可以通过一组案例实现:
//然后定义一个myFor(可以随便定义)函数,这个函数需要传两个参数:数组,回调函数。注意这里的myFore就是我们后期如果定义回调函数的一个方法名,图中的callback的意思就是回调函数所在的位置,只不过我们平常都习惯用callback这个名义去定义回调函数,参数名不固定。
这里我们通过一个例子去实现我们是如何调用回调函数的:
最后的答案是:
不好的写法:
优化: 使得t不会污染全局变量。
完美版: 使得第一次调用test函数之后,不会再进行if-else的判断,而是在第2、3、......、n次调用test时直接获取到t的值。
应用: 添加绑定事件(原版)
使用惰性函数优化(改进版):