【发布时间】:2010-04-04 00:36:45
【问题描述】:
所以我在字符串和 switch-case 方面遇到了这个问题,我会尽量保持简单。
这里 event.keyCode 的值为“65”,是“a”的 keydown 事件的结果(使用 JQuery)。
if (event.keyCode == "65") {
alert("hmmmm");
}
这行得通,但是:
switch (event.keyCode) {
case '65':
alert("Yay!");
break;
}
那不是。但是,这将起作用:
switch ('65') {
case '65':
alert("Yay!");
break;
}
如果我这样做:
var t = '65';
switch (t) {
case '65':
alert("Yay!");
break;
}
它有效。然后我尝试了这个:
var t = event.keyCode;
switch (t) {
case '65':
alert("Yay!");
break;
}
但它失败了!
那么为什么它在开头的 if-block 中匹配,但在 switch-case 中却不匹配?
【问题讨论】:
-
你的上下文测试是什么?
标签: javascript jquery string switch-statement