在JavaScript中,字符串的Switch-Case语句不能按预期工作。
- 论坛
- 在JavaScript中,字符串的Switch-Case语句不能按预期工作。
7 浏览
在JavaScript中,字符串的Switch-Case语句不能按预期工作。
我遇到了关于字符串和switch-case的问题,我会尽量简单地解释一下。
这里event.keyCode的值是"65",是由按下 'a' 键(使用JQuery)的keydown事件产生的。
if (event.keyCode == "65") { alert("嗯嗯嗯"); }
这个代码可以正常工作,但是:
switch (event.keyCode) { case '65': alert("耶!"); break; }
却不行。然而,这个会工作:
switch ('65') { case '65': alert("耶!"); break; }
如果我这样写:
var t = '65'; switch (t) { case '65': alert("耶!"); break; }
它可以正常工作。然后我尝试了这个:
var t = event.keyCode; switch (t) { case '65': alert("耶!"); break; }
但是它失败了!
那么为什么开始的if块可以匹配,但switch-case却不行呢?