JavaScript: Switch statement


The switch statement allows to make a decision from the number of choices.

If a match is found to a case label, the program executes the associated statement.

If no match is found with any of the case statements, only the statements following the default are executed. 

If no default statement is found, the program continues execution at the statement following the end of the switch.

Note that switch statement is almost similar to a series of if statements on the same expression.


switch (expression){
  case label : 
  case label :
 ...    default : statements;


expression: Value matched against the label.

label: An Identifier to be matched against expression.

statements: Group of statements that are executed once if the expression matches the label.


In the following example, switch statement is used to display the marks range against a particular grade.


<!DOCTYPE html>
<html lang="en">
<meta charset=utf-8>
<title>JavaScript Switch statement : Example-1</title>
<link rel="stylesheet" type="text/css" href="example.css">
<h1>JavaScript : switch statement</h1>
<form name="form1" action ="#">
Input Grade type : <input type="text" name="text1" value="A" />
<br /><br />
<input type="button" value="Marks check"
onclick='marksgrade()' />
<script src="switch-statement-example1.js"></script>

JS Code

function marksgrade()
grade = document.form1.text1.value;
switch (grade)
case 'A+':
console.log("Marks >= 90");
case 'A':
console.log("Marks [ >= 80 and <90 ]");
case 'B+':
console.log("Marks [ >= 70 and <80 ]");
case 'B':
console.log("Marks [ >= 60 and <70 ]");
case 'C':
console.log("Marks < 60");
console.log("Wrong grade.........");

View the example in the browser

Practice the example online

See the Pen switch-1 by w3resource (@w3resource) on CodePen.

Previous: JavaScript: if...else statements
Next: JavaScript do while loop

Test your Programming skills with w3resource's quiz.

JavaScript: Tips of the Day

How do I redirect to another webpage?

window.location.replace(...) is better than using window.location.href, because replace() does not keep the originating page in the session history, meaning the user won't get stuck in a never-ending back-button fiasco.

If you want to simulate someone clicking on a link, use location.href

If you want to simulate an HTTP redirect, use location.replace.

// similar behavior as an HTTP redirect

// similar behavior as clicking on a link
window.location.href = "http://stackoverflow.com";

Ref: https://bit.ly/37JdWH8