简而言之,高阶函数是一个可以接收函数作为参数,甚至返回一个函数的函数。它就像常规函数一样,只是多了接收和返回其他函数的附加能力,即参数和输出。
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内容!")
})