English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

JavaScript Basic Tutorial

JavaScript Object

JavaScript Function

JS HTML DOM

JS Browser BOM

AJAX Basic Tutorial

JavaScript Reference Manual

Sentenças Condicionais do JavaScript

If else and else if

Conditional statements are a set of commands that are executed when the specified condition is true.

In many cases, you may want to run different code blocks based on user input or other factors.

Conditional statements are part of the logic, decision, or flow specification of a computer program.

In JavaScript, we have the following conditional statements:

  • If Statement

  • If...else Statement

  • Else...if Statement

  • Switch Statement

We will discuss the switch statement in the next chapter.

JavaScript If Statement

Only when the specified condition in if is true, the code will be executed. The syntax is:

if (condition) {
  //bloco de código a ser executado se a condição for verdadeira
}
if (x < 0) {
   document.getElementById("result").innerHTML = "NEGATIVE";
}
Teste para ver‹/›

Comando if ... else do JavaScript

O comando if...else permite que você execute um bloco de código quando a condição especificada for true e outro bloco de código quando a condição for false. A sintaxe é:

if (condition) {
   //bloco de código a ser executado se a condição for verdadeira
} else {
   //bloco de código a ser executado se a condição for falsa
}
var x = -4;
if (x < 0) {
   msg = "NEGATIVE";
} else {
   msg = "POSITIVE";   
}
Teste para ver‹/›

Se o usuário clicar na imagem, o exemplo a seguir mudará o valor da propriedade src:

<img id="demo" onclick="changeImage()" src="avatar-female.jpg">
<script>
function changeImage() {
   var image = document.getElementById("demo");
   if (image.src.match("female")) {
   image.src = "avatar-male.jpg";
   } else {
   image.src = "avatar-female.jpg";
   }
}
</script>
Teste para ver‹/›

Comando else...if do JavaScript

Usando if...else, podemos executar um bloco de código com base no resultado de uma condição sim ou não. Mas, às vezes, podemos ter várias condições possíveis e outputs, e precisamos de mais do que duas opções. Uma maneira de fazer isso é usar comandos else...if, que podem avaliar dois ou mais resultados possíveis. A sintaxe é:

if (condition1) {
  //se condition1se for true, o bloco de código a ser executado
} else if (condition2) {
  //se condition1se for false e condition2se for true, o bloco de código a ser executado
} else {
  //se condition1se for false e condition2bloco de código a ser executado se for false
}
// definir a nota atual do aluno
var grade = 88;
// verificar se a nota é A, B, C, D, ou F
if (grade >= 90) {
   document.write("A");
} else if (grade >= 80) {
   document.write("B");
} else if (grade >= 70) {
   document.write("C");
} else if (grade >= 60) {
   document.write("D");
} else {
   document.write("F");
}
Teste para ver‹/›

Comandos if ... else aninhados

Você pode usar comandos if ... else aninhados para aumentar a capacidade de decisão de programas JavaScript.

var a = 10, b = 20, c = 30;
var answer;
if (a > b) {
   if (a > c) {
  answer = "A é o maior dos três";
   } else {
  answer = "C é o maior dos três";
   }
} else if (b > c) {
   answer = "B é o maior dos três";
} else {
   answer = "C é o maior dos três";   
}
Teste para ver‹/›

Operador ternário

O operador ternário oferece uma maneira conveniente de escrever sentenças if ... else.

O operador ternário é escrito com a sintaxe de interrogação (? ) e dois pontos ( : ), conforme mostrado a seguir:

(condition) ? expression_on_true : expression_on_false

Na sintaxe acima,conditionPrimeiro é escrito, então é?. A primeira expressão será escrita notrueExecutar, a segunda expressão será escrita nofalseExecutar.

Para entender como o operador ternário funciona, considere o seguinte exemplo:

var status = (age >= 18) ? "adult" : "minor";
Teste para ver‹/›

Se a idade for18Idade ou acima, então a frase atribui o valor "adult" à variável status. Caso contrário, ela atribuirá o valor "minor" ao status.