<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script>
/*----函数颗粒化就是函数参数截取,并合并参数-----*/
// 在这个函数中进行add函数所需参数的截取,用到的函数slice,call,apply
function curry(fn){
//截取第一个参数
var firstAgu = Array.prototype.slice.call(arguments,1);
//截取第二个参数
return function two(){
var lastTwoAgu = Array.prototype.slice.call(arguments);
var finalArguments = firstAgu.concat(lastTwoAgu);
return fn.apply(this,finalArguments);
}
}
//这里需要三个参数
function add(a,b,c){
var m = a + b +c;
console.log(m);
return m;
}
curry(add,5)(1,2);
</script>
</head>
<body>
</body>
</html>