【发布时间】:2013-03-26 20:55:34
【问题描述】:
在this article,John Resig 讨论了这个用于柯里化的 sn-p:
Function.prototype.curry = function() {
var fn = this, args = Array.prototype.slice.call(arguments);
return function() {
return fn.apply(this, args.concat(
Array.prototype.slice.call(arguments)));
};
};
我对@987654324@ 的表达感到困惑。
-
1234563我不明白该代码如何按原样工作。
根据the docs on "arguments",“参数”实际上不是一个数组,而只是一个类似对象的数组。我们如何在上面调用“slice()”?如果我输入代码
console.log(arguments.slice()),我会收到一条错误消息,指出该对象没有切片方法。
这是怎么回事?
【问题讨论】:
-
Resig voodoo,你所有的代码都属于约翰!
-
@Xander,不,它没有明确讨论,尽管我认为 sn-p 可能来自原型库。
标签: javascript