for循环中的javascript函数不存储循环计数器

时间:2016-11-13 15:50:40

标签: javascript arrays function

我有这段代码:

testArray = new Array(2);
for (var i = 0; i < testArray.length; i++) {
    testArray[i] = new Array(2);
    for (var j = 0; j < testArray[i].length; j++) {
        testArray[i][j] = new Array(2);
        for (var k = 0; k < testArray[i][j].length; k++) {
            testArray[i][j][k] = new Object;

            testArray[i][j][k].x = function () {
                return i;
            }
        }
    }
}

正如您所看到的,我在数组内部(数组)创建了一个数组。最后我有一个函数,它应该给我这个3d数组的第一个数组的值。这是一个例子:

testArray[0][1][0].x -> 0
testArray[0][0][1].x -> 0
testArray[1][0][0].x -> 1

但是当我调用函数testArray [1] [0] [0] .x时它总是返回2.我不知道我在哪里犯了错误。有人可以帮帮我吗?

0 个答案:

没有答案