promise前置知識——1.高階函數(shù)

1.概念

一個函數(shù)的參數(shù)是一個函數(shù)(回調(diào)函數(shù))或者一個函數(shù)返回一個函數(shù)(函數(shù)柯里化)

2.例子

寫代碼時不破壞原有邏輯,而增加一些功能
對函數(shù)進(jìn)行包裝(裝飾),切片編程(核心抽離出來),包裝上自己的內(nèi)容 切片AOP

const say = (...args)=>{ 
//...args 剩余運(yùn)算符  可以將參數(shù)轉(zhuǎn)換成一個數(shù)組。兩個作用 剩余運(yùn)算符,展開運(yùn)算符
// todo...
console.log('說話', args)
}
// 希望在say之前做些事
//只有say函數(shù)之前
//say.before = function () => { 
//}
// 所有函數(shù)都擴(kuò)展一些功能
Function.prototype.before = function (cb) => {
  return (...args) => {  //箭頭函數(shù)沒有this指向,所以函數(shù)中this指的是say。如果用function的話,this指的是window
    cb();
    this(...args) //apply 可以依次將數(shù)組傳入
  }
}
let newSay = say.before(function(){
  console.log('before say')
})
newSay('a','b','c');
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容