3 回答

TA貢獻1876條經(jīng)驗 獲得超6個贊
好吧,既然您已經(jīng)有一個將鍵碼映射到函數(shù)的對象,您可以像這樣簡單地調(diào)用它們:
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條經(jīng)驗 獲得超11個贊
document.addEventListener("keydown", checkKeyPressed, false);
function checkKeyPressed(e) {
const action = keyboard[e.keyCode];
if (action) action();
}

TA貢獻1784條經(jīng)驗 獲得超9個贊
你可以只用一個 if 語句
function checkKeyPressed(e) {
if (keyboard[e.keyCode])
keyboard[e.keyCode]();
}
如果e.keyCode不是對象鍵盤中的值之一,keyboard[e.keyCode]將返回undefined并且內(nèi)部代碼將不會運行。
您還需要在函數(shù)后添加括號才能實際調(diào)用它
添加回答
舉報