0
我有一個擴展另一個類的類。但是在試圖引用「this」的父類中定義的函數會拋出一個聲明「this」的異常未定義。下面是相關代碼:Js繼承了類實例undefined
class Entity {
constructor() {
this.axes = ['x', 'y'];
...
updatePosition() {
this.axes.forEach(function(axis) {
this.position[axis] += this.velocity[axis];
});
}
}
class Player extends Entity {
constructor() {
super();
....
}
...
}
var player = new Player();
和錯誤拋出:
.../player.js:25
this.position[axis] += this.velocity[axis];
^
TypeError: Cannot read property 'position' of undefined
你知道爲什麼是實例未定義的,我怎麼能解決這個問題? 謝謝!
或者你可以引用'self'變量指向'this'在forEach函數之上,並且forEach內部使用'self'變量。 – atrifan
好的,我明白了。我討厭javascript ... – nodwj
是的,我們都做;) – apieceofbart