1
がやろうとして何イム私はJavaScriptのカレー/schönfinkeln
function curry(fn) {
var args = [];
// push everything but function itself into args
for (var i = 1; i < arguments.length; ++i) {
args.push(arguments[i]);
}
return function() {
var args2 = [];
for (var i = 0; i < arguments.length; i++) {
args2.push(arguments[i]);
}
var argstotal = args.concat(args2);
return fn.apply(argstotal);
};
}
function add(a,b){return a + b};
宣言し、次のような機能を持っていると言うことができます明白ですが、私は自分自身の偉大な
どういうわけかvar addCurry = curry(add);
addCurry(10, 20, 12314) // should deliver 30, gives NaN
それを作品の追加機能をカレーにしたいですNaNを返すと私はImが間違っているものを知らない...誰もがアイデアを得ましたか? Function.prototype.apply
からreturn fn.apply(argstotal)
最初の引数は、スコープ、呼び出し内this
の値は、ない最初の引数である: