Javascript 调用outeraray[index]时出现未捕获类型错误。innerArray[outeraray[index]。innerArray.length]。foo
我有以下代码:Javascript 调用outeraray[index]时出现未捕获类型错误。innerArray[outeraray[index]。innerArray.length]。foo,javascript,arrays,debugging,object,syntax,Javascript,Arrays,Debugging,Object,Syntax,我有以下代码: var outerArray = new Array(); func1(); function func1() { outerArray[0] = new Array(); outerArray[0].innerArray = new Array(); func2(0); } function func2(index) { outerArray[index].innerArray[outerArray[index].innerArray.l
var outerArray = new Array();
func1();
function func1() {
outerArray[0] = new Array();
outerArray[0].innerArray = new Array();
func2(0);
}
function func2(index) {
outerArray[index].innerArray[outerArray[index].innerArray.length].foo = 3;
console.log(outerArray[index].innerArray[outerArray[index].innerArray.length].foo);
}
代码给出了一个错误:
Uncaught TypeError: Cannot set property 'foo' of undefined
问题是什么?我如何解决它?我进行了一些调试,发现了以下观察结果 您确实初始化了OuteraRay[0]。innerArray,但其中没有任何元素 因此,outerArray[0].innerArray.length(0)将是语句outerArray[0]的索引。innrerArray[outerArray[index].innerArray.length] 但是数组outerArray[0]。innerArray为空。因此,此语句outerArray[0].innerArray[0]返回一个未定义的