2015-09-04 56 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()