1、高阶函数
高阶函数 是对其它函数进行操作的函数,它接收函数作为参数或将函数作为返回值输出。(满足这两个条件之一就是高阶函数)
(也就是如果一个函数A,它在接收参数的时候,传递过来的参数是一个B函数,那么A函数就是高阶函数)
1、函数作为参数
<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 fn() {
// 这里的fn() 函数 return 的是一个函数,这样的话这个fn() 就是一个高阶函数
return function () {
}
}
fn();