【问题标题】:Pass unknown number of object properties传递未知数量的对象属性
【发布时间】:2012-02-15 20:27:54
【问题描述】:

需要编写一个函数来接受未知的对象属性并将它们传递给另一个插件函数。问题是如何检索给定的参数,并进一步传递它们?

示例:

function(obj) {
 other_function(obj)
}

obj 应该以 { arrows: true, size: '250' ... } 等形式接受它,并以相同的形式将其传递给其他函数。 问题是如何像那样通过它们?我可以为所有参数设置默认值,但如果它是一个大组,并且如果有人向 other_function 添加新参数,那将毫无意义:)

提前致谢!

【问题讨论】:

  • other_function 的定义类似于function other_function(arrows, size, ...);我理解正确吗?如果两个函数都只接受一个对象,那么您的代码就可以工作。

标签: javascript object


【解决方案1】:

使用arguments 属性,您可以将额外参数传递给任何函数

function someFunction() {
    alert(arguments[0] + ' ' + arguments[1] + ' ' + arguments[2]));
}


someFunction('hello', 'foo', 'bar');

【讨论】:

    【解决方案2】:

    您可以使用 arguments 属性,它是隐式的,但在所有函数中都可用。

    function(obj) {
         other_function(arguments);
     }
    

    Read more about it at MDN.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-16
      • 1970-01-01
      相关资源
      最近更新 更多