3 回答
TA贡献1876条经验 获得超6个赞
好吧,既然您已经有一个将键码映射到函数的对象,您可以像这样简单地调用它们:
document.addEventListener("keydown", checkKeyPressed, false);
function checkKeyPressed(e) {
if (keyboard[e.keyCode] != undefined) {
keyboard[e.keyCode](e); //<-- you need to call the function, once you get it...
}
};
或者甚至,
function checkKeyPressed(e) {
keyboard[e.keyCode] ? keyboard[e.keyCode](e) : null;
};
TA贡献1856条经验 获得超11个赞
document.addEventListener("keydown", checkKeyPressed, false);
function checkKeyPressed(e) {
const action = keyboard[e.keyCode];
if (action) action();
}
TA贡献1784条经验 获得超9个赞
你可以只用一个 if 语句
function checkKeyPressed(e) {
if (keyboard[e.keyCode])
keyboard[e.keyCode]();
}
如果e.keyCode不是对象键盘中的值之一,keyboard[e.keyCode]将返回undefined并且内部代码将不会运行。
您还需要在函数后添加括号才能实际调用它
添加回答
举报