首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript参数对象参数解析

Javascript参数对象参数解析
EN

Stack Overflow用户
提问于 2017-10-09 13:34:01
回答 1查看 185关注 0票数 0

在理解函数的参数是如何解析对象时,我提出了一个问题。

我分析的代码是:

代码语言:javascript
复制
function foo(something) {
    console.log(something); // outputs 3
    return this.a + something;
}

function bind(fn, obj) {
    return function () {
      return fn.apply(obj, arguments);
    };
}

var obj = {
   a: 2
};

var bar = bind(foo, obj);
var b = bar(3, 5, 6);

函数foo控制台记录其名为“The”的参数,该参数应该是参数对象。为什么我只通过了第一个对撞机而忽略了其他参数呢?我想我应该把所有的论点都拿出来。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-09 13:39:53

使用.apply(),将所有参数作为数组传递。这意味着,如果您的函数具有两个参数,如:

代码语言:javascript
复制
functionWithTwo(a,b) {}

可以使用两个值的数组传递参数:

代码语言:javascript
复制
[1,3]

如果您现在传递一个包含两个以上字段的数组,则其他字段将被忽略,因为目标函数只接受两个参数。

这就是在你的例子中所发生的事情。将数组3、5、6传递给只接受1参数(某物)的函数。因此,只有第一个值,3,是存在的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46647773

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档