javascript - 为什么这里的 apply() 只接受一个参数而不是两个?

标签 javascript

我正在阅读 Javascript:好的部分这本书。我对以下代码感到困惑。

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)));
    };
});

slice.apply(arguments) 中的 null 在哪里?

最佳答案

arguments 作为上下文 (this) 传递,而不是函数的参数。

它等同于 arguments.slice(),只是 arguments.slice() 不存在。

关于javascript - 为什么这里的 apply() 只接受一个参数而不是两个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7949312/

相关文章:

javascript - 使用jQuery按下删除键时如何从字符串中跳过一个字符

Javascript使用for循环反转参数中任意长度的数字

javascript - Json 日期中的时区

javascript - 如果用户存在,请使用数据库表中的数据填写表单文本框?

javascript - react native : Opening URLs in Android (Equivalent to LinkingIOS. openURL)

javascript - 如何将父组件的引用传递给子组件?不使用 typescript ?

javascript - 过滤器 "orderBy"无法将变量用作数组

javascript - Three.js Object3d 圆柱体旋转对齐向量

javascript - AjaxSetup 与 jqgrid 冲突

javascript - 为什么我们有函数sort(), reduce(), map(), filter()?