我正在对2D数组进行多遍操作。基本上是这样的:

function heightMap() {
  var seedList = [],
      tileList = [];
  //forloop filling tileList

  while(seedList.length<20) {
      var tile = tileList[randomX][randomY];
      //do stuff to tile
      seedList.push(tile);
  }
  for(var x in tileList) {
    for(var y in tileList {
      var tile = tileList[x][y];
      //do stuff to tile
    }
  }
}

JS-Hint说,磁贴已经在for循环下定义了。什么?是对的吗?这与我对范围的理解不符。 IDK如果值得一提,但一切执行正常。

最佳答案

JavaScript仅具有功能范围。您的两个循环都在同一个函数中,因此它们的作用域相同,因此for循环中的tile与while循环中的ojit_code相同。

09-12 02:08