js notes high-order functions

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();

Guess you like

Origin blog.csdn.net/weixin_44401120/article/details/113917699