传递未知数量的对象属性

时间:2012-02-15 20:27:54

标签: javascript object

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

示例:

function(obj) {
 other_function(obj)
}

obj应该以 {arrow:true,size:'250'...} 等形式接受它,并将其传递给同一形式的其他功能。 问题是如何通过它们?我可以创建所有参数的默认值,但如果它是一个大组,并且如果有人向other_function添加新参数,则没有任何意义:)

提前感谢!

2 个答案:

答案 0 :(得分:2)

您可以使用隐含但在所有功能中都可用的arguments属性。

function(obj) {
     other_function(arguments);
 }

Read more about it at MDN.

答案 1 :(得分:2)

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

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


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