当前位置:首页 > JS中的柯里化

JS中的柯里化

发布于 2018-05-09 阅读 529 次 Javascript

刚拿到这个面试题,一脸懵逼的状态,对于这个词感觉很陌生,再加上只是口述,我以为是颗粒化呢,心想颗粒化是个什么鬼,在面试官的提示下,我意识到,应该是和bind差不多的东西。但是终因自身的原因,极度紧张,从小脸皮薄,木有回答好。一紧张脑子空白。

简单来说就是把一个接收单一参数的函数变成接受一个参数的,函数。

下面是一个经典例子

  1. function curray(fn){
  2. var args = [].slice.call(arguments, 1);
  3. return function(){
  4. var newArgs = args.concat([].slice.call(arguments));
  5. fn.apply(null, newArgs))
  6. }
  7. }
  8. function fn(a, b){
  9. console.log(1);
  10. }
  11. var curraying = curray(fn, 1);
  12. curraying(2);