为什么apply()这里只需要一个参数而不是两个?

ama*_*jxq 5 javascript

我正在读书Javascript:The Good Parts.我对以下代码感到困惑.

Function.method('curry', function (  ) {
    var slice = Array.prototype.slice,
        args = slice.apply(arguments),
        that = this;
    return function (  ) {
        return that.apply(null, args.concat(slice.apply(arguments)));
    };
});
Run Code Online (Sandbox Code Playgroud)

哪里nullslice.apply(arguments)

SLa*_*aks 5

arguments正在作为context(this)传递,而不是函数的参数.

arguments.slice()除了arguments.slice()不存在之外,它等同于.