小编MF *_*men的帖子

在JavaScript中使用带字符串的开关

switch分析字符串变量时,我的声明无法正常工作.

输出和输入都是<textarea>.

HTML

<form name="interface">
  <textarea name="output" rows="20" cols="100"></textarea><br>
  <textarea name="input" rows="1" cols="100" onKeyDown="thinkInput(event);"></textarea>
</form>
Run Code Online (Sandbox Code Playgroud)

JavaScript的

function thinkInput(e)
{
    if (e.keyCode == 13)
    {
        sInput = document.interface.input.value;
        document.interface.output.value += sInput;
        aInput = sInput.split(" ");

        switch (aInput[0])
        {
            case "say":
                textOut("You say \""+sInput.substring(aInput[0].length + 1)+"\"");
                break;
            case "move":
                move(aInput[1]);
                break;
            default:
                thinkFail();
                break;
        }
        document.interface.input.value = null;
        alert(aInput[0]);
    }
}
Run Code Online (Sandbox Code Playgroud)

我最后可以看到alert()案件是"说"或"移动".

我第一次尝试"说mudkipz"或"四处走动",一切都按照我想要的方式工作,但在那之后我输入的所有内容都会thinkFail()激发.

javascript string textarea switch-statement

14
推荐指数
1
解决办法
4万
查看次数

标签 统计

javascript ×1

string ×1

switch-statement ×1

textarea ×1