我对这段代码有一个奇怪的问题
Moonbeam.Input.KeyboardState = function Moonbeam_Input_KeyboardState() {
this._keys = new Array(2);
this._resetKeys();
}
Moonbeam.Input.KeyboardState.prototype = {
_resetKeys: function Moonbeam_Input_KeyboardState$_resetKeys() {
this._keys.clear();
},
_SetKeys: function Moonbeam_Input_KeyboardState$_SetKeys(keysPressed) {
this._resetKeys();
this._keys = keysPressed;
}
}
我调用 _SetKeys 函数并传入一个值,在 this._resetKeys(); KeysPressed 包含值,在 this._keys = KeysPressed 行上,从调用 _resetKeys() 返回后,keysPressed 不包含值。
这不是我所期望的行为,但 javascript 不是我的专长。
谁能告诉我这是我做错了什么?
这就是 javascript 的工作方式吗?如果是,我看不出你如何进行递归。
我也尝试添加行 var _keysPressed = keysPressed; 在 _SetKeys 函数中调用 this._resetkeys() 之前,但这也失去了它的价值。
在调用另一个函数期间如何让我的值保持不变?
斯图。