循环切换语句

Loop switch statement

我现在如何循环这个 switch 语句?因为在我循环该语句之后,我想编写一个代码,在按下其中一个键后立即将文本文本添加到站点

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    </head>
    <body>      
    <script language="javascript" type="text/javascript">

        document.onkeydown = function(event) {
            switch(event.keyCode) { 
            case 13:
                    document.write("Use weapon");
                    break;
            case 50:
                    document.write("Switch weapon");
                    break;
            case 32:
                    document.write("Jump");
                    break;
            case 38:
                    document.write("Run Forward");
                    break;
            }
            return event.returnValue;
        }
    </script>
</body>

你不需要循环。 onkeydown 当按键被按住时连续触发。 如果您只想让它只触发一次,请改用 onkeypressonkeypress 每次按下一个键都会触发一次。

无论哪种方式,您都不需要循环。

关于onkeydown的更多信息可以参考W3school。 他们还有一个针对 here 活动的测试页面。

"I mean that the switch statement should be reasked as soon as i press one of these buttons" – Codenoob,评论问题

这应该有效:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
</head>
<body>      
<script language="javascript" type="text/javascript">

    var trackKeyCommand = function(){
        document.onkeydown = function(event) {
            switch(event.keyCode) { 
            case 13:
                    document.write("Use weapon");
                    document.write("<br />");
                    trackKeyCommand();
                    break;
            case 50:
                    document.write("Switch weapon");
                    document.write("<br />");
                    trackKeyCommand();
                    break;
            case 32:
                    document.write("Jump");
                    document.write("<br />");
                    trackKeyCommand();
                break;
            case 38:
                    document.write("Run Forward");
                    document.write("<br />");
                    trackKeyCommand();
                break;
            }
            return event.returnValue;
        }
    }
    trackKeyCommand();
</script>

我所做的是创建一个函数,trackKeyCommand。按下四个键(ENTER、SPACE、UP 和 2)中的任何一个后,它会再次调用该函数,从而导致循环。

我还在每个词组后加了一个换行符;我发现它更容易阅读。