在下面的代码中使用“this”?

时间:2015-09-04 10:14:49

标签: javascript this

我是JavaScript的初学者,我不太了解以下脚本中的一些内容;

我知道Map,Player和App都是类,map,player和app是这三个类的实例;

但是为什么你会将关键字“this”与对象地图和播放器一起使用而不只是改为编写var map = new Map()var player = new Player()

任何帮助都将受到高度赞赏!

var app;

var App = function() 
  this.map = new Map();
  this.player = new Player();
};

(function() {
  app = new App();
})();

2 个答案:

答案 0 :(得分:0)

var App = function() 
  var map = new Map(),
      player = new Player();
};

此处mapplayer仅作为函数内的变量提供。在这个特定的代码中,没有任何东西可以访问这些变量,因此它们会在函数结束时立即超出范围,并将被删除。

var App = function() 
  this.map = new Map();
  this.player = new Player();
};

var app = new App();
app.map.foo();

此处mapplayer成为App实例的属性,可在其外部和/或其他功能中访问,例如prototype App个函数}。

答案 1 :(得分:0)

此处this指的是变量应用。使用此功能的好处是您可以访问app.map()app.player()