更新时间:2022-11-21 来源:黑马程序员 浏览量:
项目开发中,若想要函数体中某部分功能由调用者决定,此时可以使用回调函数。所谓回调函数指的就是一个函数A作为参数传递给一个函数B,然后在B的函数体内调用函数A此时,我们称函数A为回调函数。其中,匿名函数常用作函数的参数传递,实现回调函数为了让读者更加清晰地了解什么是回调函数,下面我们以算术运算为例进行演示。
function cal(numl, num2, fn) { return fn(numl, num2); } console.log(cal(45, 55, function(a, b) { return a + b; })); console.log(cal(10, 20, function(a, b) { return a * b; }));
上述第1~3行代码定义了cal()函数,用于返回fn回调函数的调用结果。第4~6行代码用于调用cal()函数,并指定该回调函数用于返回其两个参数相加的结果,因此可在控制台查看到结果为 100。同理,第7~ 9行代码在调用 cal0 函数时,将回调函数指定为返回其两个参数相乘的结果,因此可在控制台查看到结果为 200。
从以上案例可以看出,在函数(如cal()函数)中设置了回调函数后,可以根据调用时传递的不同参数(如相加的函数,相乘的函数等),在函数体中特定的位置实现不同的功能相当于在函数体内根据用户的需求完成了不同功能的定制。