0

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

例如,这有效:

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 undefinedkey()函数内部返回。这里undefined的东西应该是arrowRight(一个对象)。

我已经尝试过寻找答案,并且大多数都规定使用.apply()(或.call()),但我不确定如何将其应用于我的情况。即使是同样的问题,我也不是(仍然是 Javascript 初学者)。

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

4

1 回答 1

6

是的,用于.apply()调用您的key函数并将数组或类似数组的对象作为单独的参数分发给函数。

key.apply(this, banana);

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

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

于 2013-06-27T23:26:07.070 回答