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()激发.