JavaScript-函数式编程
在数学和计算机科学中,柯里化是一种将使用多个参数的一个函数转换成一系列使用一个参数的函数的技术。
举个例子:
function add(a, b) {
    return a + b;
}
// 执行 add 函数,一次传入两个参数即可
add(1, 2) // 3
// 假设有一个 curry 函数可以做到柯里化
var addCurry = curry(add);
addCurry(1)(2) // 3用途
我们会讲到如何写出这个 curry 函数,并且会将这个 curry 函数写的很强大,但是在编写之前,我们需要知道柯里化到底有什么用?
举个例子
// 示意而已
function ajax(type, url, data) {
    var xhr = new XMLHttpRequest();
    xhr.open(type, url, true);
    xhr.send(data);
}
// 虽然 ajax 这个函数非常通用,但在重复调用的时候参数冗余
ajax(‘POST‘, ‘www.test.com‘, "name=kevin")
ajax(‘POST‘, ‘www.test2.com‘, "name=kevin")
ajax(‘POST‘, ‘www.test3.com‘, "name=kevin")
// 利用 curry
var ajaxCurry = curry(ajax);
// 以 POST 类型请求数据
var post = ajaxCurry(‘POST‘);
post(‘www.test.com‘, "name=kevin");
// 以 POST 类型请求来自于 www.test.com 的数据
var postFromTest = post(‘www.test.com‘);
postFromTest("name=kevin");待更新
相关推荐
  wcqwcq    2020-07-04  
   Guanjs0    2020-11-09  
   wmsjlihuan    2020-09-15  
   shishengsoft    2020-09-15  
   poplpsure    2020-08-17  
   CyborgLin    2020-08-15  
   Richardxx    2020-07-26  
   sunnyhappy0    2020-07-26  
   knightwatch    2020-07-19  
   chichichi0    2020-06-16  
   YAruli    2020-06-13  
   JF0    2020-06-13  
   心丨悦    2020-06-11  
   zkwgpp    2020-06-04  
   stoneechogx    2020-06-04  
   litterfrog    2020-05-30  
   today0    2020-05-26  
   beibeijia    2020-05-16