如何允许我的程序检测 keyCode 而不会在 Javascript 中出现类型错误?

How do I allow my program to detect keyCode without getting a type-error in Javascript?

我对编码还很陌生,而且我一直遇到一个问题。在制作贪吃蛇或乒乓球等游戏时,我倾向于使用事件侦听器来侦听按键事件,例如:document.body.addEventListener("keydown", moveSnake);。然后我继续声明函数 moveSnake :

function moveSnake(event){
    switch(event.keyCode){
        case 87:
             break;
        case 83:
             break;
        case 65:
            break;
        case 68:
            break;
         default:
             break;
    }
}

我知道还没有代码告诉蛇要做什么。一旦我这样做,我就会遇到一个反复出现的问题。我的程序停止了,并且我在控制台中收到一条错误消息:Cannot read properties of undefined (reading 'keyCode')。我使用的是 google chrome 的最新版本,如果有人能告诉我我做错了什么,我将不胜感激。我尝试将 keyCode 声明为变量,以及我在网上随机找到的许多其他建议,但没有任何效果。谢谢!

由于浏览器不一致,.keyCode 已被弃用。 (https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/keyCode)

您可以尝试使用 .code,它将键命名为“ArrowUp”、“ArrowLeft”、“ArrowRight”和“ArrowDown”。