2013-06-27 204 views
0

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

例如,这个工程:

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

然而,这并不:

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

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

我试过寻找答案,最prescribe the use of .apply()(或.call()),但我不知道如何将这个应用到我的情况。即使它是同样的问题,我仍然是一个Javascript初学者。

我没有在这里发布key()函数,因为我不认为它是相关的。

+0

你用什么方法试过'应用'? –

+0

哦,你在你的问题中加了'.apply()'?还是一直在那里?我只记得首先看到'.call()'。 –

+0

@CrazyTrain我打错了,所以我稍后添加它:) – AKG

回答

6

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

key.apply(this, banana); 

的第一个参数.apply()设置您key功能的this值。在这里我只是使用了包含this的值。

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