Also habe ich dieses Problem mit Strings und Switch-Case, und ich werde versuchen, es so einfach wie möglich zu halten.Switch-Case für Strings in Javascript funktioniert nicht wie erwartet
Hier hat event.keyCode den Wert "65" und ist das Ergebnis eines Keydown-Ereignisses von 'a' (mit JQuery).
if (event.keyCode == "65") {
alert("hmmmm");
}
Das funktioniert, aber:
switch (event.keyCode) {
case '65':
alert("Yay!");
break;
}
Das ist nicht der Fall ist. Allerdings wird diese Arbeit:
switch ('65') {
case '65':
alert("Yay!");
break;
}
Und wenn ich dies tun:
var t = '65';
switch (t) {
case '65':
alert("Yay!");
break;
}
Es funktioniert. Und dann habe ich das versucht:
var t = event.keyCode;
switch (t) {
case '65':
alert("Yay!");
break;
}
Aber es scheitert!
Also warum passt es im if-Block am Anfang, aber nicht für den Switch-Fall?
Was ist Ihr Kontexttest? –