Javascript “'x' 未定义”在几行之前定义

Javascript "'x' is undefined" when defined a few lines before

变量 layer 在一个对象之前的几行定义,并在该对象中被更改,但不允许我给它赋值,像这样:

//using the phaser game engine
var layer;
var map;
Game.prototype = {
 create: function() {
  map = game.add.tilemap('testlevel');
  map.addTilesetImage('grassland');
  map.setCollisionByExclusion([1]);
  layer = map.createLayer('layer1');
  layer.resizeWorld(); //here is where the error occurs
 };
};

如果不查看更多代码,很难准确知道,但这看起来像 map.createLayer('layer1'); return未定义,因此您正在对未定义的对象调用方法 (resizeWorld)。

我会检查 createLayer 的 return 值。