多维数组函数

时间:2011-04-15 17:04:52

标签: javascript

我怎样才能做到这一点:

q = {}

q[0] = new Array()

q[0].push(function()
{
   console.log("whatup")
})

q[0]() // currently prints "q[0] is not a function"

当然,在我打电话之前它不应该执行。我尝试将其嵌套在另一个函数中作为返回值,但没有任何作用:(

3 个答案:

答案 0 :(得分:6)

您有一个多维数组,但您只能访问末尾的第一个维度(这是另一个数组)。试试q[0][0]()

答案 1 :(得分:3)

问题是q [0]中的值是您分配给它的新Array() - 而不是函数。

这些行:

q[0].push(function()
{
   console.log("whatup")
})

将把该函数作为第二行中分配给q [0]的新数组的第一个元素。所以不要这样:

q[0]() // currently prints "q[0] is not a function"

你真的想要这样做:

q[0][0]()

答案 2 :(得分:2)

您的代码应该可以工作但是您正在调用该数组。要调用你需要做的功能

q[0][0]()