我怎样才能做到这一点:
q = {}
q[0] = new Array()
q[0].push(function()
{
console.log("whatup")
})
q[0]() // currently prints "q[0] is not a function"
当然,在我打电话之前它不应该执行。我尝试将其嵌套在另一个函数中作为返回值,但没有任何作用:(
答案 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]()