js中函数的参数可以是数组对象也可以是函数,当参数为函数时我们叫做回调函数
//定义回调函数
function B() {
console.log("函数B")
setTimeout("console.log('我是回调函数B')", 3000); //模仿耗时异步执行操作
}
//定义回调函数
function C() {
console.log("函数C")
setTimeout("console.log('我是回调函数C')", 6000); //模仿耗时异步执行操作
}
function A(C, B) {//函数A 中传入函数C和B函数作为参数
C();
B();
console.log('我是主函数');
}
//调用主函数,将函数B和函数C传进去
A(C,B);
//得到的结果
函数C
函数B
我是主函数
我是回调函数B
我是回调函数C
我们可以看出: 无论有几个函数参数都是可以执行的,所以函数参数不仅仅可以放在最后的位置,
当执行函数参数时两个函数按照顺序依次执行,如果有异步操作,异步操作按照自己的时间来执行,但不影响主函数的执行结束。