1

这是下划线的 _.extend 。

  // Extend a given object with all the properties in passed-in object(s).
  _.extend = function(obj) {
    each(slice.call(arguments, 1), function(source) {
      if (source) {
        for (var prop in source) {
          obj[prop] = source[prop];
        }
      }
    });
    return obj;
  };

该函数call需要一个 this 值,后跟一个参数列表。

如果传递的唯一参数是 '1',则 slice 将返回一个省略第一项的数组。

但是,如何将参数用作我的 MDN 定义的 this 值。

MDN

称呼

论据

4

3 回答 3

1

它总是引用相同的东西,传递给包含函数的参数。

于 2013-02-25T21:59:44.823 回答
1

Using arguments as the this value applies the function to arguments. It would be like doing arguments.slice(1), except you can't because arguments is technically not an array.

于 2013-02-25T22:03:14.640 回答
0

我相信“这个”是隐含的。有时你必须“强制”一个虚假的列表来应用到一些 Array 原型上,否则它将无法工作。

如果是这样,我可能会误解您的问题-我深表歉意。

于 2013-02-25T22:00:06.680 回答