【发布时间】:2012-05-19 02:32:10
【问题描述】:
这里是第一个问题。
我正在尝试 Javascript 对象。这是我的代码:
function main(){
document.onkeydown = hero.keyListener;
hero.move();
hero.counter();
}
var hero = {
dx: undefined,
dy: undefined,
keyListener: function (e) {
this.dy = 100;
},
move: function () {
this.dx = 80;
},
counter: function() {
document.getElementById("dxcounter").innerHTML = "Dx: "+ this.dx + " Dy: "+ this.dy;
}
};
move 方法会更新this.dx,但keyListener 不会在按下某个键时更新this.dy。
如果我像这样更改 keyListener 就可以了:
keyListener: function (e) {
that = hero;
that.dy = 100;
},
为什么 move 方法适用于 this 而不是 keyListener?
【问题讨论】:
-
答案和this one一样。
标签: javascript object methods this