读书笔记 函数柯里化
Posted 本无所谓有无
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了读书笔记 函数柯里化相关的知识,希望对你有一定的参考价值。
这是书上函数柯里化的例子
1 function curry(fn){ 2 var args = Array.prototype.slice.call(arguments, 1);//取出调用curry时除了第一个函数参数的后面所有参数; 3 return function(){ 4 var innerArgs = Array.prototype.slice.call(arguments);//取出第二次调用时的所有参数; 5 var finalArgs = args.concat(innerArgs); 6 return fn.apply(null, finalArgs);//第一次传的参数args通过闭包保存了起来不会销毁; 7 } 8 }
这是书上关于bind使用函数柯里化改造的例子
1 function bind(fn, context){ 2 var args = Array.prototype.slice.call(arguments, 2); 3 return function(){ 4 var innerArgs = Array.prototype.slice.call(arguments); 5 var finalArgs = args.concat(innerArgs); 6 return fn.apply(context, finalArgs); 7 } 8 }
以上是关于读书笔记 函数柯里化的主要内容,如果未能解决你的问题,请参考以下文章