数组作为函数参数/参数

时间:2013-06-27 23:25:09

标签: javascript arrays function

我可以在函数中将数组作为参数/参数传递吗?

例如,这有效:

key(0, arrowRight, 'regX', anchorLast, 8, 'quartInOut', 175);

然而,这不是:

var banana = [0, arrowRight, 'regX', anchorLast, 8, 'quartInOut', 175]
key(banana);

Uncaught TypeError: Cannot read property 'x' of undefined函数中返回key()undefined这里应该是arrowRight(一个对象)。

我已尝试搜索答案,而且大多数prescribe the use of .apply()(或.call()),但我不确定如何将此应用于我的情况。我甚至不是同样的问题(仍然是Javascript初学者)。

我没有在此发布key()功能,因为我觉得它不相关。

1 个答案:

答案 0 :(得分:6)

是的,使用.apply()来调用你的key函数,并将一个数组或类似数组的对象作为函数的单独参数分发。

key.apply(this, banana);

.apply()的第一个参数设置this函数的key值。这里我只使用了封闭的this值。

第二个参数是要传递给key函数的参数集合。