我有一个对象像这样:'this'(内部方法)不会引用原始对象吗?
let game = {
canvas: document.getElementById('main_canvas').getContext("2d"),
clear: function(){
this.canvas.clearRect(0,0,400,400);
},
update: function(){
this.clear();
//more code
},
};
在我明确的方法一切正常使用“这个”指的是“游戏”,但是当我在它不是指的“更新”的方法用“这个”到'游戏'?当我使用game.clear();一切正常,但'这'我得到undefined。如果有人知道这个原因,请发表回复。我最近了解了对象并知道箭头函数不会给出'this',但认为像上面那样的匿名函数可以让我引用'父'或owner对象。
你正在使用'this'是你应该构造函数使用它(当您通过调用与'new'功能使对象的实例)的方式,而不是静态对象文本的方式。 –
'this'的值取决于函数的调用方式。所以告诉我们如何调用'game.update'。可能是[如何在回调中访问正确'this'的副本?](https://stackoverflow.com/q/20279484/218196) –
您还应该阅读[“this”关键字如何工作?]( https://stackoverflow.com/q/3127429/218196),https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/this和https://github.com/getify /你不知道JS/tree/master/this%20%26%20object%20原型 –