2015-09-04 48 views
0

我是JavaScript的初学者,我不太明白以下脚本中的一些内容:在下面的代码中使用“this”?

我知道地图,播放器和应用程序是类,地图,播放器和应用程序是这三个类的实例;

但是你为什么要用对象映射和播放器使用关键字“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(); 
})(); 
+1

顺便说一下,Javascript中没有“类”,只有对象和函数。你可以使用构造函数和“静态”方法编写类似于“类”的代码,但永远不要开始认为JavaScript有类。 – deceze

回答

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实例的性质,并且它外面和/或其它功能访问,等Appprototype功能。

0

这里this指的是变量app。使用这个的好处是你将可以访问app.map()app.player()