--- title: do...while slug: Web/JavaScript/Reference/Statements/do...while translation_of: Web/JavaScript/Reference/Statements/do...while ---
do...while
cria um laço que executa uma declaração até que o teste da condição for falsa (false). A condição é avaliada depois que o bloco de código é executado, resultando que uma declaração seja executada pelo menos uma vez.do statement while (condition);
declarações
condition
) for avaliada como verdadeira (true). Para executar múltiplas declarações dentro do laço, use um {{jsxref("declaração/block", "block")}} declaração ({ ... }
) ao grupo dessas declarações.condição
(condition)
é avaliada como verdadeira (true) o bloco de código é executado novamente. Quando a condição (condition)
é avaliada como falsa (false), o controle passa para a instrução seguinte ao laço do...while.do...while
No exemplo seguinte, o laço do...while soma pelo menos uma vez e executa novamente até i
não ser menor que 5.
<div id="exemplo"></div>
var resultado = ''; var i = 0; do { i += 1; resultado += i + ' '; } while (i < 5); document.getElementById('exemplo').innerHTML = resultado;
{{ EmbedLiveSample('Exemplos') }}
Specification | Status | Comment |
---|---|---|
ECMAScript 3rd Edition. | Standard | Initial definition. Implemented in JavaScript 1.2 |
{{SpecName('ES5.1', '#sec-12.6.1', 'do-while statement')}} | {{Spec2('ES5.1')}} | |
{{SpecName('ES6', '#sec-do-while-statement', 'do-while statement')}} | {{Spec2('ES6')}} | Trailing ; is now optional. |
{{CompatibilityTable}}
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | IE6+ | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} |