|
@@ -0,0 +1,29 @@
|
|
|
+// fn(1)
|
|
|
+// fn(2)
|
|
|
+// fn(3)
|
|
|
+// fn(4)
|
|
|
+// fn(5)
|
|
|
+// fn()
|
|
|
+// console.log(1,2,3,4,5)
|
|
|
+
|
|
|
+
|
|
|
+let fn = _curry(console.log,'test');
|
|
|
+fn(1)
|
|
|
+fn(2)
|
|
|
+fn(3)
|
|
|
+fn(4)
|
|
|
+fn(5)
|
|
|
+fn()
|
|
|
+
|
|
|
+function _curry(fn){
|
|
|
+ let _arguments = Array.from(arguments);
|
|
|
+ let params = _arguments.splice(1);
|
|
|
+ return function(){
|
|
|
+ let __arguments = Array.from(arguments);
|
|
|
+ if(__arguments.length >= 1){
|
|
|
+ params.push(...__arguments);
|
|
|
+ }else{
|
|
|
+ fn(...params,...arguments);
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|