javascript - 在 JavaScript 中获取数组时出现问题 TypeError : Cannot set property

标签 javascript arrays undefined

错误:未捕获类型错误:无法设置未定义的属性“0”

相关代码:

var field = new Array(6);
for(var x=0; x<field.length; x++){
  field[x] = new Array(12);
  for(var y=0; y<field[x].length; y++){
    field[x][y]= new tile();
    field[x][y].type = Math.floor(Math.random()*7);
    field[x][y].subtype[0]=false;//error happens when I run this line
    field[x][y].subtype[1]=false;
    field[x][y].subtype[2]=false;
    field[x][y].subtype[3]=false;
  }
}


function tile() {
  var type = 0; type = 0;//int
  var subtype = new Array(4);//Boolean

//+ some functions
}

我知道我错过了一些东西,但我不知道是什么。有什么帮助吗?

编辑:另外,当我添加“这个”时。在平铺对象中的“类型”和“子类型”之前,我得到了 未捕获的语法错误:意外的标记 edit#2:我收到该错误是因为我输入了

var this.
//instead of
this.

最佳答案

您需要将 tile 属性设置为 成员属性,方法是在它们前面添加 this 关键字,即

function tile() {
    this.type = 0;
    this.subtype = new Array(4);
}

关于javascript - 在 JavaScript 中获取数组时出现问题 TypeError : Cannot set property,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22775844/

相关文章:

JavaScript myObject 有时未定义

javascript - 为什么 ReactJS 组件的渲染函数中需要 div ?

javascript - 无法使用 .each 获取 id

javascript - 嵌入 Google 地球,在卫星 View 中创建网格布局

c - 数组的奇怪行为是循环内外不同的值

javascript - 不使用键名获取关联数组的值

Python:带顺序值的矩阵

javascript - Backbone 关联与 Backbone 关系

ruby-on-rails - rails 错误: undefined method ` ' for nil:NilClass

类成员变为未定义