我可以在函数中将数组作为参数/参数传递吗?
例如,这有效:
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()
功能,因为我觉得它不相关。
答案 0 :(得分:6)
是的,使用.apply()
来调用你的key
函数,并将一个数组或类似数组的对象作为函数的单独参数分发。
key.apply(this, banana);
.apply()
的第一个参数设置this
函数的key
值。这里我只使用了封闭的this
值。
第二个参数是要传递给key
函数的参数集合。