1. Higher-order functions A
higher-order function is a function that operates on other functions. It receives functions as parameters or outputs functions as return values. (Satisfying one of these two conditions is a higher-order function)
(that is, if a function A, when it receives parameters, the passed parameter is a B function, then the A function is a higher-order function)
1. Function as a parameter
<script>
//(常见的就是回调函数)
//1、只有一个参数
function fn(callback) {
//这个fn() 函数接收的参数是一个函数,此时这个fn() 就是一个高阶函数了
callback && callback();
}
fn(function () {
alert('hi')
})
//2、有多个参数,有实参和函数作为参数
function fn(a,b,callback){
console.log(a + b);
///2、接过来callback函数的主要目的就是当回调函数来使用,把fn里面的代码打印完了,再执行这个回调函数
// 3、此时就是完成回调函数的操作
callback && callback();
}
// 1、此时就是把一个函数作为参数传给另一个参数,接收方的fn函数就是一个高阶函数
fn(1,2,function(){
console.log('我是那个callback');
});
</script>
2. Function as return value
function fn() {
// 这里的fn() 函数 return 的是一个函数,这样的话这个fn() 就是一个高阶函数
return function () {
}
}
fn();