高阶函数:就是一个函数的参数是函数,或者返回值是函数,满足其中一个就是高阶函数
要遵循开闭原则:对扩展是开放的,对修改是封闭的(可以自己扩展函数,不可修改已有的函数)
计算器案例
//callback是calc的参数,接收的是一个函数
Js
function calc(num1,num2,callback){
return callback(num1,num2)
}
Html
//通常情况下,回调函数都会写成箭头函数
let r1 = calc(100,200,(num1,num2)=>num1 + num2)
console.log(r1)
也可以先定义一个add函数
function add(num1,num2){
return num1 + num2
}
let r2 = calc (200,100,add)
console.log(r2)