第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何引用對(duì)象中的鍵(而不是值)來(lái)實(shí)現(xiàn)對(duì)計(jì)算器的鍵盤(pán)支持?

如何引用對(duì)象中的鍵(而不是值)來(lái)實(shí)現(xiàn)對(duì)計(jì)算器的鍵盤(pán)支持?

富國(guó)滬深 2022-11-11 16:07:22
我正在嘗試為我的計(jì)算器添加鍵盤(pán)支持,這樣您就可以按鍵而不是單擊屏幕。這看起來(lái)是練習(xí)使用對(duì)象的好機(jī)會(huì),但我顯然在這里做錯(cuò)了。你能給我一個(gè)提示嗎?let keyboard = {  48: zeroFunc,  49: oneFunc,  50: twoFunc,  51: threeFunc,  52: fourFunc,  53: fiveFunc,  54: sixFunc,  55: sevenFunc,  56: eightFunc,  57: nineFunc};我試過(guò)這樣的事情:document.addEventListener("keydown", checkKeyPressed, false);function checkKeyPressed(e) {    if (e.keyCode === keyboard.key) {        keyboard[action]    }}和這個(gè):document.addEventListener("keydown", checkKeyPressed, false);function checkKeyPressed(e) {Object.keys(keyboard).forEach(key, index) => {    if (e.keyCode === key) {      keyboard[index]    }  }};我可以為每個(gè)鍵碼做一個(gè) if 語(yǔ)句,但我懷疑有一種更優(yōu)雅的方法可以做到這一點(diǎn)。
查看完整描述

3 回答

?
HUX布斯

TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超6個(gè)贊

好吧,既然您已經(jīng)有一個(gè)將鍵碼映射到函數(shù)的對(duì)象,您可以像這樣簡(jiǎn)單地調(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; 

};


查看完整回答
反對(duì) 回復(fù) 2022-11-11
?
呼喚遠(yuǎn)方

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超11個(gè)贊

document.addEventListener("keydown", checkKeyPressed, false);

function checkKeyPressed(e) {

    const action = keyboard[e.keyCode];

    if (action) action();

}


查看完整回答
反對(duì) 回復(fù) 2022-11-11
?
千萬(wàn)里不及你

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超9個(gè)贊

你可以只用一個(gè) if 語(yǔ)句


function checkKeyPressed(e) {

    if (keyboard[e.keyCode])

        keyboard[e.keyCode]();

}

如果e.keyCode不是對(duì)象鍵盤(pán)中的值之一,keyboard[e.keyCode]將返回undefined并且內(nèi)部代碼將不會(huì)運(yùn)行。


您還需要在函數(shù)后添加括號(hào)才能實(shí)際調(diào)用它


查看完整回答
反對(duì) 回復(fù) 2022-11-11
  • 3 回答
  • 0 關(guān)注
  • 141 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)