无法设置未定义的属性“0”

时间:2013-08-12 04:47:33

标签: javascript

我已经检查了同样问题的其他问题,但是它们对我来说不起作用。

我收到错误:Cannot set property '0' of undefined我的JavaScript;我使用的是谷歌浏览器。

var thisInstance = new Grid(100,100);
thisInstance.initGrid();

function Grid(maxX, maxY) {
    this.grid     = new Array();
    this.gridMaxX = maxX;
    this.gridMaxY = maxY;

    this.initGrid = function() {
        for(var i = 0; i < this.gridMaxX; i++) {
            this.grid[i] = new Array();
        }
    }
}

我打电话时收到错误: thisInstance[1][0] = 1;

请询问您是否需要更多信息!

2 个答案:

答案 0 :(得分:6)

由于您尝试访问未定义对象上的[0],因此会触发该错误。

替换

thisInstance[1][0] = 1;

通过

thisInstance.grid[1][0] = 1;

thisInstance只是Grid的一个实例,而不是数组。

答案 1 :(得分:-1)

在这部分代码中:

this.initGrid = function() {
    for(var i = 0; i < this.gridMaxX; i++) {
        this.grid[i] = new Array();
    }
}

this.initGridthis.grid不会引用同一个对象'this'。