无法设置属性'0'的未定义

Cannot set property '0' of undefined

本文关键字:未定义 设置 属性      更新时间:2023-09-26

我已经检查了其他有相同问题的问题,但它们对我的问题不起作用。

我得到错误: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;

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

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

更换

thisInstance[1][0] = 1;

通过

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

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

在这部分代码中:

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

this.initGridthis.grid不引用同一对象"this"。