开发者问题收集

Javascript TypeError:无法将未定义转换为对象

2013-08-12
38720
var horizont, vertikal = new Array ()

for (var i=0; i < 9; i++) 
{
horizont[i] = new Array ();
vertikal[i] = new Array ()
}

控制台告诉我的就是这些:

TypeError: can't convert undefined to object

horizont[i] = new Array ();

(如果我从代码中删除它,他会说与 vertikal 相同的内容)

除了一些其他空字符串外,这是我的代码的开头... 错误在哪里? 它是否如此明显以至于我没看到它?

1个回答

错误是因为您没有将 horizo​​nt 定义为数组。您使用逗号分隔变量,因此它是未定义的。它不使用来自 vertikal 的 new Array()

如果您使用代码

var horizont, vertikal = new Array ()

并将其写出以使用多个变量,则会弹出错误。

var horizont;
var vertikal = new Array();

您需要将两者都指定为数组。

var horizont = [], 
    vertikal = [];
epascarello
2013-08-12