调用函数时赋予回调函数的函数内容

在 函数a 定义时找不到 回调函数b 的内容,有可能是定义时留了个 回调函数的函数名b 占位置,然后在调用时赋予的 回调函数b 的函数内容,注意这样赋予的内容在后续的函数调用时依旧是有效的。

问题描述

  • 在调用 函数a 的位置看到参数里有疑似 回调函数b 的参数名,可是 函数a 定义时并为定义 回调函数b 的内容
  • 那么 回调函数b 在哪定义的内容?

答案

  • 第一次调用函数a时赋予回调函数b的函数内容,后面再次调用函数a是直接使用b()即可
  • 据说是为了可以给 回调函数b 设定不同的函数内容

例子

1
2
3
4
5
6
7
8
9
10
11
// 定义函数a
a(b){
...
// 只是在某个契机下使用b(),并未定义
b() // 其实调用的函数内容是下方函数a调用时赋予的
}

// 某次调用函数a
a(()=>{
// 在此处定义回调函数b
})
,