我有一个关于如何在以下上下文中使用关键字'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