简而言之,高阶函数是一个可以接收函数作为参数,甚至返回一个函数的函数。它就像常规函数一样,只是多了接收和返回其他函数的附加能力,即参数和输出。
function arrBarlow(arr,barlow, fn){let newArr = [];arr.forEach(item=>{newArr.push(item*barlow)fn(item);});return newArr;}const newArr = arrBarlow([2,5,3,6,7],2,(item)=>{console.log(item);})console.log(newArr);// ----------------------------function arrBarlow({arr, barlow=2, fn}){let newArr = [];arr.forEach(item=>{newArr.push(item*barlow)fn(item);});return newArr;}const newArr = arrBarlow({arr: [2,5,3,6,7],fn: (item)=>{console.log(item);}})console.log(newArr);// ----------------------------function vipFn(fn){const vip = document.cookie.isVip;if(!vip){console.warn("无权限,请开通vip!")return;}fn();}vipFn(()=>{alert("显示vip内容!")})
