我有以下功能:
gameActions(e: KeyboardEvent) {
if (e.keyCode === 27 || e.keyCode === 9 || (e.keyCode === 9 && e.shiftKey)) {
this.LaunchInventory();
}
else if (e.keyCode === 13) { //Enter
this.Shoot();
}
else if (e.keyCode === 40) { //Down
this.Crouch();
}
else if (e.keyCode === 38) { //Up
this.Jump();
}
}
如何使用switch case实现此代码?我只是无法弄清楚如何将条件语句e.shiftKey && e.keyCode
传递给case语句。
答案 0 :(得分:8)
e.keyCode === 9 && e.shiftKey
条件完全是多余的,因为检查e.keyCode === 9
就足以输入相同的条件。你可以放弃它,这将使得使用开关盒非常直接:
gameActions(e: KeyboardEvent) {
switch(e.keycode) {
case 27:
case 9:
this.LaunchInventory();
break;
case 13:
this.Shoot();
break;
case 40:
this.Crouch();
break;
case 38:
this.Jump();
break;
}