我已经检查了同样问题的其他问题,但是它们对我来说不起作用。
我收到错误: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 :(得分: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.initGrid
和this.grid
不会引用同一个对象'this'。