[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Statements/for [Back]  [Original]

for - JavaScript | MDN

Esta pgina foi traduzida do ingls pela comunidade. Saiba mais e junte-se comunidade MDN Web Docs.

View in English Always switch to English

for

Baseline Widely available

This feature is well established and works across many devices and browser versions. Its been available across browsers since julho de 2015.

A instruo for cria um loop que consiste em trs expresses opcionais, dentro de parnteses e separadas por ponto e vrgula, seguidas por uma declarao ou uma sequncia de declaraes executadas em sequncia.

In this article

Sintaxe

for ([inicializao]; [condio]; [expresso final])
   declarao
inicializao

Uma expresso (incluindo expresses de atribuio) ou declaraes variveis. Geralmente usada para iniciar o contador de variveis. Esta expresso pode, opcionalmente, declarar novas variveis com a palavra chave var. Essas variveis no so locais no loop, isto , elas esto no mesmo escopo que o loop for est. Variveis declaradas com let so locais para a declarao.

O resultado desta expresso descartado.

condio

Uma expresso para ser avaliada antes de cada iterao do loop. Se esta expresso for avaliada para true, declarao ser executado. Este teste da condio opcional. Se omitido, a condio sempre ser avaliada como verdadeira. Se a expresso for avaliada como falsa, a execuo ir para a primeira expresso aps a construo loop for.

expresso final

Uma expresso que ser validada no final de cada iterao de loop. Isso ocorre antes da prxima avaliao da condio. Geralmente usado para atualizar ou incrementar a varivel do contador.

declarao

Uma declarao que executada enquanto a condio for verdadeira. Para executar mltiplas condies dentro do loop, use uma instruo de bloco ({...}) para agrupar essas condies. Para no executar declaraes dentro do loop, use uma instruo vazia (;).

Exemplos de uso

Usando for

A declarao for comea declarando a varivel i e inicializando-a como 0. Ela verifica se i menor que nove, executa as duas instrues subsequentes e incrementa 1 a varivel i aps cada passagem pelo loop.

js
for (var i = 0; i < 9; i++) {
  console.log(i);
  // more statements
}

Expresses for opcionais

Todas as trs expresses na condio do loop for so opcionais.

Por exemplo, no bloco de inicializao, no necessrio inicializar variveis:

js
var i = 0;
for (; i < 9; i++) {
  console.log(i);
  // more statements
}

Assim como ocorre no bloco de inicializao, a condio tambm opcional. Se voc est omitindo essa expresso, voc deve certificar-se de quebrar o loop no corpo para no criar um loop infinito.

js
for (var i = 0; ; i++) {
  console.log(i);
  if (i > 3) break;
  // more statements
}

Voc tambm pode omitir todos os trs blocos. Novamente, certifique-se de usar uma instruo break no final do loop e tambm modificar (incrementar) uma varivel, para que a condio do break seja verdadeira em algum momento.

js
var i = 0;

for (;;) {
  if (i > 3) break;
  console.log(i);
  i++;
}

Usando for sem uma declarao

O ciclo for a seguir calcula a posio de deslocamento de um n na seo [expresso final] e, portanto, no requer o uso de uma declarao ou de um bloco de declarao, e no seu lugar usado um ponto-vrgula - ;.

js
function showOffsetPos(sId) {
  var nLeft = 0,
    nTop = 0;

  for (
    var oItNode = document.getElementById(sId); // inicializao
    oItNode; // condition
    nLeft += oItNode.offsetLeft,
      nTop += oItNode.offsetTop,
      oItNode = oItNode.offsetParent // expresso final
  ); /* empty statement */

  console.log(
    'Offset position of "' +
      sId +
      '" element:\n left: ' +
      nLeft +
      "px;\n top: " +
      nTop +
      "px;",
  );
}

// Exemplo de call:

showOffsetPos("content");

// Resultado:
// "Offset position of "content" element:
// left: 0px;
// top: 153px;"

Nota: Nesse caso, quando voc no usa a seo de declarao, o ponto-e-vrgula colocada imediatamente aps a declarao do ciclo.

Especificaes

Specification
ECMAScript 2027 LanguageSpecification
# sec-for-statement

Compatibilidade com navegadores

Veja tambm


Web Proxy Viewer  |  New URL  |  Original Page