A declaração while cria um laço que executa uma rotina especifica enquanto a condição de teste for avaliada como verdadeira. A condição é avaliada antes da execução da rotina.

Syntax

while (condição) {
  rotina
}
condição
Uma expressão avaliada antes de cada passagem através do laço. Se essa condição for avaliada como verdadeira, a rotina é executada. Quando a condição for avaliada como falsa, a execução continua na declaração depois do laço while.
rotina
Uma declaração que é executada enquanto a condição é avaliada como verdadeira. Para executar multiplas declarações dentro de um laço, use uma declaração em bloco ({ ... }) para agrupar essas declarações.

Exemplos

O seguinte laço while itera enquanto n é menor que três.

var n = 0;
var x = 0;

while (n < 3) {
  n++;
  x += n;
}

Cada iteração, o laço incrementa n e soma à x. Portanto, x e n assumem os seguintes valores:

  • Depois da primeira passagem: n = 1 e x = 1
  • Depois da segunda passagem: n = 2 e x = 3
  • Depois da terceira passagem: n = 3 e x = 6

Depois de completar a terceira passagem, a condição n < 3 não é mais verdadeira, então o laço termina.

Especificações

Specification Status Comment
ECMAScript Latest Draft (ECMA-262)
The definition of 'while statement' in that specification.
Rascunho  
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'while statement' in that specification.
Padrão  
ECMAScript 5.1 (ECMA-262)
The definition of 'while statement' in that specification.
Padrão  
ECMAScript 3rd Edition (ECMA-262)
The definition of 'while statement' in that specification.
Padrão  
ECMAScript 1st Edition (ECMA-262)
The definition of 'while statement' in that specification.
Padrão Definição inicial

Compatibilidade nos browsers

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Suporte básico (Yes) (Yes) (Yes) (Yes) (Yes)
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Suporte básico (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)

Veja Também

Etiquetas do documento e colaboradores

Etiquetas: 
Colaboradores desta página: DiegoVictor
Última atualização por: DiegoVictor,