promise前置知识——1.高阶函数

1.概念

一个函数的参数是一个函数(回调函数)或者一个函数返回一个函数(函数柯里化)

2.例子

写代码时不破坏原有逻辑,而增加一些功能
对函数进行包装(装饰),切片编程(核心抽离出来),包装上自己的内容 切片AOP

const say = (...args)=>{ 
//...args 剩余运算符  可以将参数转换成一个数组。两个作用 剩余运算符,展开运算符
// todo...
console.log('说话', args)
}
// 希望在say之前做些事
//只有say函数之前
//say.before = function () => { 
//}
// 所有函数都扩展一些功能
Function.prototype.before = function (cb) => {
  return (...args) => {  //箭头函数没有this指向,所以函数中this指的是say。如果用function的话,this指的是window
    cb();
    this(...args) //apply 可以依次将数组传入
  }
}
let newSay = say.before(function(){
  console.log('before say')
})
newSay('a','b','c');
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容