Estrutura de comando switch do JavaScript

Definição e uso

A estrutura de comando switch executa blocos de código com base em diferentes situações.

A estrutura de comando switch é parte da 'condicional' do JavaScript, usada para executar diferentes operações com base em diferentes condições. Utiliza-se o switch para escolher um dos muitos blocos de código a serem executados. É a solução perfeita para longas estruturas de if/else aninhadas.

The switch statement calculates the expression. Then, the value of the expression is compared with the value of each case in the structure. If there is a match, the associated code block is executed.

The switch statement is usually used with the break or default keyword (or both). These are optional:

The break keyword exits the switch block. This will stop executing more code and/or case tests within the block. If break is omitted, the next code block in the switch statement is executed.

If no case matches, the default keyword specifies some code to be executed. Only one default keyword can be used in a switch. Although it is optional, it is recommended to use it because it can handle unexpected situations.

Exemplo

Execute code blocks based on user input:

var text;
var fruits = document.getElementById("myInput").value;
switch(fruits) {
  case "Banana":
    text = "Banana is good!";
    quebrar;
  case "Orange":
    text = "I am not a fan of orange.";
    quebrar;
  case "Apple":
    text = "How you like them apples?";
    quebrar;
  padrão:
    text = "I have never heard of that fruit...";
}

亲自试一试

More TIY examples are available at the bottom of the page.

Syntax

switch(expression) {
  case n:
    code block
    quebrar;
  case n:
    code block
    quebrar;
  padrão:
    default code block
}

Parameter value

Parameter Description
expression Required. Specify the expression to be calculated. The expression is calculated once. The value of the expression is compared with the value of each case label in the structure. If there is a match, the relevant code block is executed.

Technical details

JavaScript version: ECMAScript 1

More examples

Exemplo

Use the weekday number of today to calculate the weekday name (Sunday=0, Monday=1, Tuesday=2, ...):

var day;
switch (new Date().getDay()) {
  caso 0:
    day = "sunday";
    quebrar;
  caso 1:
    day = "monday";
    quebrar;
  caso 2:
    day = "tuesday";
    quebrar;
  caso 3:
    day = "wednesday";
    quebrar;
  caso 4:
    day = "thursday";
    quebrar;
  caso 5:
    dia = "Quinta-feira";
    quebrar;
  caso 6:
    dia = "Sábado";
    quebrar;
  padrão:
    dia = "Dia Desconhecido";
}

亲自试一试

Exemplo

Se hoje não for nem sábado nem domingo, escreva uma mensagem padrão:

var text;
switch (new Date().getDay()) {
  caso 6:
    text = "Hoje é Sábado";
    quebrar; 
  caso 0:
    text = "Hoje é Domingo";
    quebrar; 
  padrão: 
    text = "Ansiando pelo Fim de Semana";
}

亲自试一试

Exemplo

Às vezes, você pode querer que diferentes situações usem o mesmo código ou tenham o mesmo valor padrão.

Observe que, neste exemplo, os casos compartilham o mesmo bloco de código e o caso padrão não precisa ser o último caso do bloco switch (mas, se o padrão não for o último caso do bloco switch, lembre-se de usá-lo break para finalizar).

var text;
switch (new Date().getDay()) {
  caso 1:
  caso 2:
  caso 3:
  padrão: 
    text = "Ansiando pelo Fim de Semana";
    quebrar; 
  caso 4:
  caso 5:
    text = "Em breve será Fim de Semana";
    quebrar; 
  caso 0:
  caso 6:
    text = "É Fim de Semana";
}

亲自试一试

Exemplo

De acordo com a entrada do usuário da caixa de diálogo, execute o bloco de código usando a estrutura switch:

var text;
var favDrink = prompt("Qual é sua bebida de coquetel favorita?");
switch(favDrink) {
  caso "Martini":
    text = "Escolha excelente! Martini é bom para a sua alma.";
    quebrar;
  caso "Daiquiri":
    text = "Daiquiri é também o meu favorito!";
    quebrar;
  caso "Cosmopolitan":
    text = "De verdade? Você tem certeza que o Cosmopolitan é o seu favorito?";
    quebrar;
  padrão:
    text = "Eu nunca ouvi dessa...";
}

亲自试一试

浏览器支持

语句 Chrome IE Firefox Safari Opera
switch 支持 支持 支持 支持 支持

相关的页面

Tutorial JavaScript:JavaScript If...Else 语句

Tutorial JavaScript:Sentença Switch JavaScript

Manual de referência JavaScript:Sentença if/else JavaScript

Manual de referência JavaScript:Sentença break JavaScript