我有一個關於如何在以下上下文中使用關鍵字'this'的問題。 Here's與移相器框架和代碼tutorial看起來如下(我簡單地合併在一起,它爲你):'this'在這種情況下如何工作?
var game = new Phaser.Game(400, 490);
game.state.add('main', mainState);
game.state.start('main');
var mainState = {
preload: function() {},
create: function() {
this.bird = game.add.sprite(100, 245, 'bird');
},
update: function() {}
};
在創建函數有一個「本」。我想我明白這是做什麼的,但這個例子證明我錯了。 this
關鍵字 - 在這種情況下 - 指向mainState
,正確(只是一些信息:創建函數啓動一旦mainState
被稱爲啓動第三行)?
我可以(通過mainstate.bird)訪問mainState
對象外的鳥,但爲什麼沒有可能再定義類的遊戲對象之外以下的原型功能?
mainState.prototype.myFunction() {}
我會得到一個錯誤調用這個,我無法解釋。
也許,因爲你必須至少寫'mainState.prototype ...'。我認爲,這是建議使用原型與JavaScript「類」 – Guybrush
@Guybrush我的意思是'mainState'。編輯它 - 謝謝。 – Faizy
你也可以看看這裏:http://stackoverflow.com/questions/43246989/the-value-of-this-inside-a-function/43247403#43247403。所以這是一個可能重複的問題。 – Guybrush