柯理化函数编程思想

柯理化函数编程思想

1.执行一个方法,传递一些参数进去,首先形成一个不销毁的栈,把传递的这些值存储起来(没有立即使用,属于预先存储)

2.返回一个小函数给栈外面

3.当执行返回的小函数式,把之前第一步预先存储的信息拿过来使用(作用域链,闭包等机制完成)

我们把JS中基于闭包实现的预先存储的思想叫做“课理化函数思想”

 let a = i => i+1,      
      b = i => i*2,     
      c = i => i+3,     
      d = i => i/2;  
const conpose = (...ary) =>{   
   return val => {    
           ary.forEach(item => {      
              val = item(val);    
          })      
        return val   
   }  
}  
  let fn = conpose(a,b,c,d);  
  fn(3);

你可能感兴趣的:(柯理化函数编程思想)