高阶函数
高阶函数:一个函数 它的参数是函数或它的返回值是函数,那么这个函数就是高阶函数。
// func是形参,把gn这个函数传递给func
// gn中保存的是地址,把地址传递给func
function fn(func){
func()
}
function gn(){
console.log("gn......");
}
// gn是实参
fn(gn)
封装一个简单的计算器函数
function add(num1,num2){return num1+num2}
function sub(num1,num2){return num1-num2}
function mul(num1,num2){return num1*num2}
function divi(num1,num2){
if(num2 === 0) return
return num1/num2
}
function calc(num1,num2,fn){
console.log(fn(num1,num2));
}
calc(10,20,add)
calc(10,20,sub)
calc(10,20,mul)
calc(10,20,divi)
calc(10,0,divi)
// fn也是高阶函数
function fn(){
function gn(){
console.log("gn");
}
return gn; // 返回一个地址
}
let kn = fn()
kn();