Bei Verzweigungen mit vielen Fällen wird es mit der if-Anweisung mühsam. Alternativ gibt es dazu die Switch-Anweisung.
Syntax:
switch(expression) {
case x:
// code block
break;
case y:
// code block
break;
default:
// code block
}
Beispiel:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>JS-Demo for switch</title>
</head>
<body>
<h3>JS-Demo for switch</h3>
<script>
"use strict";
const day = Number(prompt("Input a number (1, 2, ..., 7"));
let dayName = "?";
switch (day) {
case 1:
dayName = 'Sunday';
break;
case 2:
dayName = 'Monday';
break;
case 3:
dayName = 'Tuesday';
break;
case 4:
dayName = 'Wednesday';
break;
case 5:
dayName = 'Thursday';
break;
case 6:
dayName = 'Friday';
break;
case 7:
dayName = 'Saturday';
break;
default:
dayName = 'Invalid day';
}
alert(dayName);
</script>
</body>
</html>
Weiteres Beispiel:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Another demo for switch</title>
</head>
<body>
<h3>Another demo for switch</h3>
<script>
"use strict";
const day = Number(prompt("Input a number (1, 2, ..., 7"));
let dayName = "?";
switch (day) {
case 1:
dayName = 'Sunday';
break;
case 2:
case 3:
case 4:
case 5:
case 6:
dayName = 'Weekday';
break;
case 7:
dayName = 'Saturday';
break;
default:
dayName = 'Invalid day';
}
alert(dayName);
</script>
</body>
</html>
Beachte die break-Anweisung! Ohne break läuft die Switch-Anweisung auch die weiteren Fälle durch und es kommt zum Ausführen anderer Verzweigungen!