{"id":11221,"date":"2023-09-13T05:58:03","date_gmt":"2023-09-13T08:58:03","guid":{"rendered":"https:\/\/www.homehost.com.br\/blog\/?p=11221"},"modified":"2024-04-12T18:45:11","modified_gmt":"2024-04-12T21:45:11","slug":"while-javascript","status":"publish","type":"post","link":"https:\/\/www.homehost.com.br\/blog\/javascript\/while-javascript\/","title":{"rendered":"While JavaScript: um guia completo"},"content":{"rendered":"\n<p>O while JavaScript \u00e9 uma ferramenta poderosa em JS (e na maioria das linguagens de programa\u00e7\u00e3o) que <strong>permite repetir um bloco de c\u00f3digo enquanto uma condi\u00e7\u00e3o for verdadeira.&nbsp;<\/strong><\/p>\n\n\n\n<p>\u00c9 importante garantir que a condi\u00e7\u00e3o do loop eventualmente se torne falsa para evitar loops infinitos.<\/p>\n\n\n\n<p>Nesse artigo, voc\u00ea ter\u00e1 <strong>um guia completo das principais informa\u00e7\u00f5es<\/strong> para executar e administrar essa ferramenta dentro do seu c\u00f3digo. Isso o tornar\u00e1 mais limpo, f\u00e1cil de compreender e \u00fatil ao seu projeto.<\/p>\n\n\n\n<p>Siga a leitura. Considere ler tamb\u00e9m sobre outro loop: <a href=\"https:\/\/www.homehost.com.br\/blog\/javascript\/for-javascript\/\">For JavaScript: como usar esse la\u00e7o de repeti\u00e7\u00e3o<\/a>.<\/p>\n\n\n\n<p>Artigos relacionados:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.homehost.com.br\/blog\/javascript\/javascript-splice\/\">JavaScript&nbsp;Splice: adicionando e removendo elementos<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.homehost.com.br\/blog\/javascript\/javascript-length\/\">JavaScript&nbsp;.length: fun\u00e7\u00e3o ou n\u00e3o fun\u00e7\u00e3o?<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.homehost.com.br\/blog\/javascript\/split-javascript\/\">Split JavaScript: dividir uma string em array<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.homehost.com.br\/blog\/javascript\/filter-javascript\/\">Filter JavaScript: filtrando e gerindo dados<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.homehost.com.br\/blog\/javascript\/array-javascript\/\">Array JavaScript: como manipular vetores<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.homehost.com.br\/blog\/javascript\/for-javascript\/\">For JavaScript: como usar esse la\u00e7o de repeti\u00e7\u00e3o<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.homehost.com.br\/blog\/javascript\/if-javascript\/\">If JavaScript: O que \u00e9 e como funciona?<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.homehost.com.br\/blog\/javascript\/else-if-javascript\/\">Else if JavaScript: Como usar?<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.homehost.com.br\/blog\/javascript\/dom-javascript\/\">DOM JavaScript: O que \u00e9 e como funciona?<\/a><\/li>\n<\/ul>\n\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_72 ez-toc-wrap-center counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Conte\u00fado<\/p>\n<span class=\"ez-toc-title-toggle\"><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.homehost.com.br\/blog\/javascript\/while-javascript\/#O_que_e_o_while_JavaScript\" title=\"O que \u00e9 o while JavaScript?\">O que \u00e9 o while JavaScript?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.homehost.com.br\/blog\/javascript\/while-javascript\/#Sintaxe_basica_do_loop_while_JavaScript\" title=\"Sintaxe b\u00e1sica do loop while JavaScript\">Sintaxe b\u00e1sica do loop while JavaScript<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.homehost.com.br\/blog\/javascript\/while-javascript\/#1_Contando_ate_5\" title=\"1. Contando at\u00e9 5\">1. Contando at\u00e9 5<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.homehost.com.br\/blog\/javascript\/while-javascript\/#2_Saudacao_ate_cansar\" title=\"2. Sauda\u00e7\u00e3o at\u00e9 cansar\">2. Sauda\u00e7\u00e3o at\u00e9 cansar<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.homehost.com.br\/blog\/javascript\/while-javascript\/#3_Multiplicando_valores\" title=\"3. Multiplicando valores\">3. Multiplicando valores<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.homehost.com.br\/blog\/javascript\/while-javascript\/#4_Apresentando_frutas\" title=\"4. Apresentando frutas\">4. Apresentando frutas<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.homehost.com.br\/blog\/javascript\/while-javascript\/#5_Calculando_o_fatorial\" title=\"5. Calculando o fatorial\">5. Calculando o fatorial<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.homehost.com.br\/blog\/javascript\/while-javascript\/#Comparacao_com_outros_loops\" title=\"Compara\u00e7\u00e3o com outros loops\">Compara\u00e7\u00e3o com outros loops<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.homehost.com.br\/blog\/javascript\/while-javascript\/#1_Loop_for\" title=\"1. Loop for\">1. Loop for<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.homehost.com.br\/blog\/javascript\/while-javascript\/#2_Loop_do%E2%80%A6while\" title=\"2. Loop do&#8230;while\">2. Loop do&#8230;while<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/www.homehost.com.br\/blog\/javascript\/while-javascript\/#Comparacao_Geral\" title=\"Compara\u00e7\u00e3o Geral\">Compara\u00e7\u00e3o Geral<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/www.homehost.com.br\/blog\/javascript\/while-javascript\/#Usando_o_loop_while_em_aplicacoes_web\" title=\"Usando o loop while em aplica\u00e7\u00f5es web\">Usando o loop while em aplica\u00e7\u00f5es web<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/www.homehost.com.br\/blog\/javascript\/while-javascript\/#Precaucoes_ao_usar_o_loop_while_JavaScript\" title=\"Precau\u00e7\u00f5es ao usar o loop while JavaScript\">Precau\u00e7\u00f5es ao usar o loop while JavaScript<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/www.homehost.com.br\/blog\/javascript\/while-javascript\/#Aplicacoes_avancadas_do_loop_while_JavaScript\" title=\"Aplica\u00e7\u00f5es avan\u00e7adas do loop while JavaScript\">Aplica\u00e7\u00f5es avan\u00e7adas do loop while JavaScript<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/www.homehost.com.br\/blog\/javascript\/while-javascript\/#Conclusao\" title=\"Conclus\u00e3o\">Conclus\u00e3o<\/a><\/li><\/ul><\/nav><\/div>\n\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"O_que_e_o_while_JavaScript\"><\/span>O que \u00e9 o <strong><code>while<\/code><\/strong> JavaScript?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p><strong>O loop <strong><code>while<\/code><\/strong><\/strong> <strong>\u00e9 uma das estruturas de repeti\u00e7\u00e3o dispon\u00edveis em JavaScript e em muitas outras linguagens de programa\u00e7\u00e3o.<\/strong> Os loops s\u00e3o fundamentais, pois permitem repetir uma a\u00e7\u00e3o ou conjunto de a\u00e7\u00f5es v\u00e1rias vezes com base em determinadas condi\u00e7\u00f5es.&nbsp;<\/p>\n\n\n\n<p>O loop <strong><strong><code>while<\/code><\/strong><\/strong> \u00e9 crucial quando <strong>desejamos executar um bloco de instru\u00e7\u00f5es enquanto uma condi\u00e7\u00e3o espec\u00edfica for verdadeira<\/strong>, sem saber de antem\u00e3o quantas repeti\u00e7\u00f5es s\u00e3o necess\u00e1rias. Isso contrasta com outros loops, como o <code>for<\/code>, onde geralmente temos uma ideia do n\u00famero de itera\u00e7\u00f5es de antem\u00e3o.<\/p>\n\n\n\n<p>Frequentemente usado em situa\u00e7\u00f5es onde o n\u00famero de itera\u00e7\u00f5es \u00e9 determinado dinamicamente, em tempo de execu\u00e7\u00e3o. Ele testa uma condi\u00e7\u00e3o antes de entrar no loop e, por isso, \u00e9 poss\u00edvel que o bloco de c\u00f3digo dentro do loop nunca seja executado se a condi\u00e7\u00e3o inicial j\u00e1 for falsa.<\/p>\n\n\n\n<p>Algumas das possibilidades e exemplos de aplica\u00e7\u00e3o incluem:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Leitura de dados:<\/strong> imagine um programa que solicita ao usu\u00e1rio inserir senhas at\u00e9 que uma senha v\u00e1lida seja fornecida. Neste cen\u00e1rio, voc\u00ea pode usar um <a href=\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/python-while\/\">loop <\/a><strong><strong><code>while<\/code><\/strong><\/strong> para continuar solicitando uma senha at\u00e9 que a entrada do usu\u00e1rio corresponda \u00e0 senha correta;<\/li>\n\n\n\n<li><strong>Jogos:<\/strong> em jogos que possuem um sistema de tentativas, como adivinhar um n\u00famero, voc\u00ea pode utilizar o loop <strong><strong><code>while<\/code><\/strong><\/strong> para permitir que o jogador continue tentando at\u00e9 acertar o n\u00famero ou at\u00e9 que todas as tentativas se esgotem.<\/li>\n<\/ul>\n\n\n\n<p>Dessa forma, o loop <strong><strong><code>while<\/code><\/strong><\/strong> em JavaScript \u00e9 uma ferramenta essencial que oferece grande flexibilidade para os desenvolvedores, permitindo a execu\u00e7\u00e3o repetida de instru\u00e7\u00f5es com base em condi\u00e7\u00f5es din\u00e2micas.&nbsp;<\/p>\n\n\n\n<p>Seja em aplica\u00e7\u00f5es web, jogos ou sistemas mais complexos, \u00e9 uma estrutura que certamente voc\u00ea encontrar\u00e1 e utilizar\u00e1 frequentemente.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Sintaxe_basica_do_loop_while_JavaScript\"><\/span>Sintaxe b\u00e1sica do loop while JavaScript<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Vamos detalhar abaixo a estrutura b\u00e1sica do `<strong><strong><code>while<\/code><\/strong><\/strong> ` em JavaScript com exemplos simples e diretos. Por exemplo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>while (condi\u00e7\u00e3o) {\n\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/ c\u00f3digo a ser executado enquanto a condi\u00e7\u00e3o for verdadeira\n\n}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"1_Contando_ate_5\"><\/span>1. Contando at\u00e9 5<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>let contador = 1;\n\nwhile (contador &lt;= 5) {\n\n&nbsp;&nbsp;&nbsp;&nbsp;console.log(\"N\u00famero:\", contador);\n\n&nbsp;&nbsp;&nbsp;&nbsp;contador++; \/\/ Incrementa o valor de contador\n\n}<\/code><\/pre>\n\n\n\n<p>Dissecando:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A vari\u00e1vel <code><strong>`contador`<\/strong><\/code> come\u00e7a com valor `1`;<\/li>\n\n\n\n<li>A condi\u00e7\u00e3o do `<strong><strong><code>while<\/code><\/strong><\/strong>` verifica se <code><strong>`contador`<\/strong><\/code> \u00e9 menor ou igual a `5`;<\/li>\n\n\n\n<li>Dentro do `<strong><strong><code>while<\/code><\/strong><\/strong>`, o <code><strong>`console.log`<\/strong><\/code> exibe o valor atual de <strong><code>`contador<\/code>`<\/strong>;<\/li>\n\n\n\n<li>O <strong><code>`contador++`<\/code><\/strong> incrementa o valor de <code><strong>`contador`<\/strong><\/code> a cada repeti\u00e7\u00e3o;<\/li>\n\n\n\n<li>O loop continua at\u00e9 <strong>`contador`<\/strong> ser maior que `5`.<\/li>\n<\/ul>\n\n\n\n<p>Ao executar esse c\u00f3digo, voc\u00ea ver\u00e1 no console:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>N\u00famero: 1\n\nN\u00famero: 2\n\nN\u00famero: 3\n\nN\u00famero: 4\n\nN\u00famero: 5<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"2_Saudacao_ate_cansar\"><\/span>2. Sauda\u00e7\u00e3o at\u00e9 cansar<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>let resposta = \"sim\";\n\nwhile (resposta === \"sim\") {\n\n&nbsp;&nbsp;&nbsp;&nbsp;console.log(\"Ol\u00e1! Quer ser cumprimentado novamente?\");\n\n&nbsp;&nbsp;&nbsp;&nbsp;resposta = prompt(\"Digite 'sim' para continuar ou qualquer outro valor para sair:\");\n\n}<\/code><\/pre>\n\n\n\n<p>Dissecando:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A vari\u00e1vel <strong><code>`resposta` <\/code><\/strong>come\u00e7a com o valor &#8220;sim&#8221;;<\/li>\n\n\n\n<li>A condi\u00e7\u00e3o do `<strong><strong><code>while<\/code><\/strong><\/strong>` verifica se a <strong><code>`resposta` <\/code><\/strong>\u00e9 igual a &#8220;sim&#8221;;<\/li>\n\n\n\n<li>Dentro do `<strong><strong><code>while<\/code><\/strong><\/strong>`, uma mensagem \u00e9 mostrada no console;<\/li>\n\n\n\n<li>O <strong><code>`prompt`<\/code><\/strong> pede ao usu\u00e1rio para inserir uma resposta. Se o usu\u00e1rio digitar &#8220;sim&#8221;, o loop continua; caso contr\u00e1rio, ele termina.<\/li>\n<\/ul>\n\n\n\n<p>Ao executar esse c\u00f3digo, uma janela de di\u00e1logo aparecer\u00e1 repetidamente at\u00e9 que o usu\u00e1rio insira algo diferente de &#8220;sim&#8221;.<\/p>\n\n\n\n<p>Recomendamos testar esses exemplos em um <a href=\"https:\/\/www.ibm.com\/docs\/pt-br\/rational-soft-arch\/9.7.0?topic=diagrams-execution-environments\">ambiente de execu\u00e7\u00e3o<\/a> JavaScript, como o console do navegador ou em plataformas online como o JSFiddle ou CodePen. Assim, voc\u00ea poder\u00e1 ver o `<strong><strong><code>while<\/code><\/strong><\/strong>` funcionando.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"3_Multiplicando_valores\"><\/span>3. Multiplicando valores<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>let base = 2;\n\nlet expoente = 0;\n\nwhile (expoente &lt;= 3) {\n\n&nbsp;&nbsp;&nbsp;&nbsp;console.log(`2 elevado a ${expoente} \u00e9:`, Math.pow(base, expoente));\n\n&nbsp;&nbsp;&nbsp;&nbsp;expoente++;\n\n}<\/code><\/pre>\n\n\n\n<p>Dissecando:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Definimos uma <strong>`base`<\/strong> de valor 2 e um <strong>`expoente`<\/strong> que come\u00e7a em 0;<\/li>\n\n\n\n<li>A condi\u00e7\u00e3o do <strong>`<strong><strong><code>while<\/code><\/strong><\/strong>`<\/strong> verifica se <strong><code>`expoente`<\/code><\/strong> \u00e9 menor ou igual a 3;<\/li>\n\n\n\n<li>Usamos <strong><code>`Math.pow`<\/code><\/strong> para calcular o valor de <strong><code>`base`<\/code><\/strong> elevado ao <strong><code>`expoente`<\/code><\/strong> e exibimos o resultado;<\/li>\n\n\n\n<li>Incrementamos o <strong><code>`expoente`<\/code><\/strong> a cada itera\u00e7\u00e3o.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"4_Apresentando_frutas\"><\/span>4. Apresentando frutas<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<pre class=\"wp-block-code\"><code>let frutas = &#091;\"ma\u00e7\u00e3\", \"banana\", \"manga\"];\n\nlet indice = 0;\n\nwhile (indice &lt; frutas.length) {\n\n&nbsp;&nbsp;&nbsp;&nbsp;console.log(`Eu gosto de ${frutas&#091;indice]}!`);\n\n&nbsp;&nbsp;&nbsp;&nbsp;indice++;\n\n}<\/code><\/pre>\n<\/blockquote>\n\n\n\n<p>Dissecando:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Temos um array <strong><code>`frutas`<\/code><\/strong> com alguns itens;<\/li>\n\n\n\n<li>Usamos uma vari\u00e1vel <strong><code>`indice`<\/code><\/strong> para acessar cada elemento do array;<\/li>\n\n\n\n<li>A condi\u00e7\u00e3o do `<strong><strong><code>while<\/code><\/strong><\/strong>` verifica se <strong><code>`indice`<\/code><\/strong> \u00e9 menor que o comprimento do array;<\/li>\n\n\n\n<li>A cada itera\u00e7\u00e3o, exibimos a fruta atual e incrementamos o <strong><code>`indice`<\/code><\/strong>.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"5_Calculando_o_fatorial\"><\/span>5. Calculando o fatorial<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>let numero = 5;\n\nlet fatorial = 1;\n\nlet contador = numero;\n\nwhile (contador &gt; 1) {\n\n&nbsp;&nbsp;&nbsp;&nbsp;fatorial *= contador;&nbsp; \/\/ Mesmo que: fatorial = fatorial * contador;\n\n&nbsp;&nbsp;&nbsp;&nbsp;contador--;\n\n}\n\nconsole.log(`O fatorial de ${numero} \u00e9:`, fatorial);<\/code><\/pre>\n\n\n\n<p>Dissecando:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Estamos tentando calcular o fatorial de `<strong><code>numero<\/code><\/strong>`;<\/li>\n\n\n\n<li>Inicializamos a vari\u00e1vel `<strong><code>fatorial<\/code><\/strong>` com 1 e `<strong><code>contador<\/code><\/strong>` com o valor de `<strong><code>numero<\/code><\/strong>`;<\/li>\n\n\n\n<li>A condi\u00e7\u00e3o do `<strong><strong><code>while<\/code><\/strong><\/strong>` verifica se `<strong><code>contador<\/code><\/strong>` \u00e9 maior que 1;<\/li>\n\n\n\n<li>Multiplicamos o <strong><code>`fatorial`<\/code><\/strong> pelo valor atual de `<strong><code>contador<\/code><\/strong>` e depois decrementamos o `<code><strong>contador<\/strong><\/code>`.<\/li>\n<\/ul>\n\n\n\n<p>Esses exemplos abordam diferentes cen\u00e1rios e aplica\u00e7\u00f5es do loop `while` em JavaScript. Voc\u00ea pode test\u00e1-los no console do navegador ou em ambientes online para obter uma compreens\u00e3o mais clara de como eles funcionam.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Comparacao_com_outros_loops\"><\/span>Compara\u00e7\u00e3o com outros loops<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Os <strong>loops em JavaScript<\/strong>, como em muitas linguagens de programa\u00e7\u00e3o, <strong>s\u00e3o estruturas que permitem a execu\u00e7\u00e3o repetida de blocos de c\u00f3digo.<\/strong>&nbsp;<\/p>\n\n\n\n<p>Em JavaScript, os loops mais comuns s\u00e3o <strong><code>for, while e do...while.<\/code><\/strong> Vamos explorar cada um deles e discutir suas vantagens e desvantagens em rela\u00e7\u00e3o ao <strong>while<\/strong> <strong>JavaScript<\/strong>. Por exemplo:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"1_Loop_for\"><\/span>1. Loop for<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>for (inicializa\u00e7\u00e3o; condi\u00e7\u00e3o; incremento\/decremento) {\n\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/ c\u00f3digo a ser executado\n\n}<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Vantagens<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u00c9 muito compacto, pois permite inicializa\u00e7\u00e3o, condi\u00e7\u00e3o e incremento\/decremento no mesmo lugar;<\/li>\n\n\n\n<li>\u00c9 o loop mais utilizado quando se sabe o n\u00famero exato de itera\u00e7\u00f5es, como percorrer arrays.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Desvantagens<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Pode ser um pouco mais complicado para iniciantes;<\/li>\n\n\n\n<li>N\u00e3o \u00e9 ideal para situa\u00e7\u00f5es onde o n\u00famero de itera\u00e7\u00f5es \u00e9 desconhecido ou se determina por uma condi\u00e7\u00e3o externa ao loop.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"2_Loop_do%E2%80%A6while\"><\/span>2. Loop do&#8230;while<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>do {\n\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/ c\u00f3digo a ser executado\n\n} while (condi\u00e7\u00e3o);<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Vantagens<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Garante a execu\u00e7\u00e3o do bloco de c\u00f3digo pelo menos uma vez, independentemente da condi\u00e7\u00e3o;<\/li>\n\n\n\n<li>\u00datil em situa\u00e7\u00f5es onde deve-se realizar uma a\u00e7\u00e3o antes de verificar uma condi\u00e7\u00e3o (por exemplo, pedir input do usu\u00e1rio antes de verificar sua validade).<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Desvantagens<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Pode ser menos intuitivo do que os outros tipos de loop;<\/li>\n\n\n\n<li>Como o while, pode levar a loops infinitos se a condi\u00e7\u00e3o nunca se tornar falsa.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Comparacao_Geral\"><\/span>Compara\u00e7\u00e3o Geral<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Uso espec\u00edfico:<\/strong> prefere-se o loop for geralmente quando se sabe o n\u00famero exato de itera\u00e7\u00f5es. J\u00e1 o <strong><code>while<\/code><\/strong> e o <strong><code>do...while<\/code><\/strong> com base na l\u00f3gica da aplica\u00e7\u00e3o e no fluxo desejado;<\/li>\n\n\n\n<li><strong>Risco de loops infinitos:<\/strong> todos os loops t\u00eam potencial para criar loops infinitos, mas o while e do&#8230;while t\u00eam um risco ligeiramente maior se n\u00e3o houver tratamento correto, pois sua l\u00f3gica muitas vezes depende de vari\u00e1veis ou condi\u00e7\u00f5es externas;<\/li>\n\n\n\n<li><strong>Legibilidade:<\/strong> o loop for \u00e9 extremamente leg\u00edvel para desenvolvedores experientes quando se trata de iterar sobre uma cole\u00e7\u00e3o ou um intervalo conhecido. Por outro lado, o <strong><code>while e do...while<\/code><\/strong> podem ser mais intuitivos para l\u00f3gicas que envolvam condi\u00e7\u00f5es de parada menos previs\u00edveis.<\/li>\n<\/ul>\n\n\n\n<p>Assim, a escolha do loop muitas vezes se resume \u00e0 situa\u00e7\u00e3o espec\u00edfica e \u00e0 prefer\u00eancia pessoal do desenvolvedor.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Usando_o_loop_while_em_aplicacoes_web\"><\/span>Usando o loop while em aplica\u00e7\u00f5es web<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Em aplica\u00e7\u00f5es web, o loop <strong><strong><code>while<\/code><\/strong><\/strong> pode ser utilizado para diversos prop\u00f3sitos, s<strong>eja para processar dados antes de serem exibidos, seja para criar intera\u00e7\u00f5es espec\u00edficas com o usu\u00e1rio<\/strong>. Abaixo, apresentamos alguns cen\u00e1rios onde o <strong><strong><code>while<\/code><\/strong><\/strong> pode ser aplicado em contextos web.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1. Carregando uma lista de coment\u00e1rios at\u00e9 atingir um limite<\/h3>\n\n\n\n<p>Imagine que Jo\u00e3o tem um blog e <strong>deseja carregar coment\u00e1rios em uma postagem, mas n\u00e3o quer sobrecarregar a p\u00e1gina.<\/strong> Ele decide carregar no m\u00e1ximo 10 coment\u00e1rios por vez.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>let comentarios = &#091;'Coment\u00e1rio 1', 'Coment\u00e1rio 2', 'Coment\u00e1rio 3', ...]; \/\/ Lista com muitos coment\u00e1rios.\n\nlet limite = 10;\n\nlet contador = 0;\n\nwhile (contador &lt; limite &amp;&amp; contador &lt; comentarios.length) {\n\n&nbsp;&nbsp;&nbsp;&nbsp;let comentario = comentarios&#091;contador];\n\n&nbsp;&nbsp;&nbsp;&nbsp;let elemento = document.createElement('p');\n\n&nbsp;&nbsp;&nbsp;&nbsp;elemento.textContent = comentario;\n\n&nbsp;&nbsp;&nbsp;&nbsp;document.body.appendChild(elemento);\n\n&nbsp;&nbsp;&nbsp;&nbsp;contador++;\n\n}<\/code><\/pre>\n\n\n\n<p>Dissecando:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Jo\u00e3o tem uma lista de coment\u00e1rios;<\/li>\n\n\n\n<li>Ele define um limite de 10 coment\u00e1rios para carregar;<\/li>\n\n\n\n<li>Um loop <strong><strong><code>while<\/code><\/strong><\/strong> \u00e9 usado para iterar sobre os coment\u00e1rios e criar um elemento p para cada um, at\u00e9 atingir o limite ou at\u00e9 que todos os coment\u00e1rios tenham sido processados;<\/li>\n\n\n\n<li>Cada coment\u00e1rio \u00e9 ent\u00e3o adicionado ao corpo do documento.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">2. Solicitar feedback do usu\u00e1rio at\u00e9 que ele cancele<\/h3>\n\n\n\n<p>Joana tem um site de <a href=\"https:\/\/exame.com\/invest\/guia\/o-que-e-e-commerce-red04\/\">e-commerce<\/a> e <strong>quer saber a opini\u00e3o dos visitantes sobre uma nova caracter\u00edstica do site.<\/strong> Ela decide pedir feedback at\u00e9 que o usu\u00e1rio opte por cancelar, como ilustramos abaixo, por exemplo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>let desejaFeedback = true;\n\nwhile (desejaFeedback) {\n\n&nbsp;&nbsp;&nbsp;&nbsp;let feedback = prompt('O que voc\u00ea achou da nossa nova caracter\u00edstica? (Deixe vazio e clique em cancelar para sair)');\n\n&nbsp;&nbsp;&nbsp;&nbsp;if (!feedback) {\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;desejaFeedback = false;\n\n&nbsp;&nbsp;&nbsp;&nbsp;} else {\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/ Aqui Joana poderia enviar o feedback para um servidor ou armazen\u00e1-lo de alguma forma.\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(\"Feedback recebido:\", feedback);\n\n&nbsp;&nbsp;&nbsp;&nbsp;}\n\n}<\/code><\/pre>\n\n\n\n<p>Dissecando:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Joana inicia a vari\u00e1vel desejaFeedback como verdadeira;<\/li>\n\n\n\n<li>Enquanto desejaFeedback for verdadeiro, mostra-se um prompt para o usu\u00e1rio inserir seu feedback;<\/li>\n\n\n\n<li>Se o usu\u00e1rio cancelar ou enviar uma resposta vazia, a vari\u00e1vel desejaFeedback define-se como false, encerrando o loop;<\/li>\n\n\n\n<li>Caso contr\u00e1rio, registra-se o feedback (neste exemplo, \u00e9 apenas mostrado no console, mas poderia ser enviado para um servidor).<\/li>\n<\/ul>\n\n\n\n<p>Estes exemplos, portanto, ilustram a versatilidade do loop <strong><strong><code>while<\/code><\/strong><\/strong> em <a href=\"https:\/\/pt.wikipedia.org\/wiki\/Aplica%C3%A7%C3%A3o_web\">aplica\u00e7\u00f5es web<\/a>, seja para processar e exibir dados ou interagir com o usu\u00e1rio. Est\u00e3o prontos para testar diretamente no console do navegador ou em um arquivo <a href=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/doctype-html\/\">HTML\/JavaScript.<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Precaucoes_ao_usar_o_loop_while_JavaScript\"><\/span>Precau\u00e7\u00f5es ao usar o loop while JavaScript<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>O poder e a flexibilidade do loop while em JavaScript s\u00e3o ineg\u00e1veis. No entanto, \u00e9 essencial abordar algumas precau\u00e7\u00f5es ao us\u00e1-lo para garantir que seu <a href=\"https:\/\/pt.linkedin.com\/pulse\/melhores-pr%C3%A1ticas-de-programa%C3%A7%C3%A3o-para-um-c%C3%B3digo-limpo-francisco\">c\u00f3digo seja eficiente<\/a> e n\u00e3o cause problemas inesperados.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Evite loops infinitos:<\/strong> o risco mais evidente ao usar um loop while \u00e9 criar um loop infinito. Sempre tenha certeza de que a condi\u00e7\u00e3o do loop ser\u00e1 falsa em algum momento. Loops infinitos podem causar que seu programa fique paralisado ou que o navegador trave;<\/li>\n\n\n\n<li><strong>Monitorar a performance:<\/strong> enquanto loops s\u00e3o \u00fateis, eles tamb\u00e9m podem ser custosos em termos de performance, especialmente se processarem muitos dados ou realizarem opera\u00e7\u00f5es complexas repetidamente. Monitore o desempenho do seu c\u00f3digo e considere otimiza\u00e7\u00f5es, se necess\u00e1rio;<\/li>\n\n\n\n<li><strong>Cuidado com condi\u00e7\u00f5es amb\u00edguas:<\/strong> certifique-se, assim, de que a condi\u00e7\u00e3o de seu loop seja clara e direta. Condi\u00e7\u00f5es muito complexas ou amb\u00edguas podem tornar seu c\u00f3digo mais dif\u00edcil de entender e manter.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Aplicacoes_avancadas_do_loop_while_JavaScript\"><\/span>Aplica\u00e7\u00f5es avan\u00e7adas do loop while JavaScript<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Al\u00e9m das aplica\u00e7\u00f5es b\u00e1sicas, o loop <strong><strong><code>while<\/code><\/strong><\/strong>  pode ser usado em cen\u00e1rios avan\u00e7ados, especialmente quando combinado com outras fun\u00e7\u00f5es e recursos do JavaScript.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Integra\u00e7\u00e3o com APIs:<\/strong> muitas vezes, ao trabalhar com APIs, \u00e9 necess\u00e1rio buscar dados em lotes. Um loop <strong><strong><code>while<\/code><\/strong><\/strong> pode ser usado para buscar dados at\u00e9 que todos sejam recuperados, especialmente quando a API tem um limite de quantos dados podem ser buscados de uma s\u00f3 vez;<\/li>\n\n\n\n<li><strong>Anima\u00e7\u00f5es e jogos:<\/strong> em cen\u00e1rios onde \u00e9 necess\u00e1rio repetir uma anima\u00e7\u00e3o ou a\u00e7\u00e3o at\u00e9 que uma condi\u00e7\u00e3o espec\u00edfica seja atendida (por exemplo, um objeto atingir um certo ponto na tela), o loop <strong><strong><code>while<\/code><\/strong><\/strong> pode ser \u00fatil;<\/li>\n\n\n\n<li><strong>Algoritmos complexos: <\/strong>em ci\u00eancia da computa\u00e7\u00e3o, algoritmos que necessitam de repeti\u00e7\u00f5es baseadas em condi\u00e7\u00f5es din\u00e2micas (como busca bin\u00e1ria ou algoritmos de ordena\u00e7\u00e3o) podem se beneficiar do loop <strong><strong><code>while<\/code><\/strong><\/strong> .<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Conclusao\"><\/span>Conclus\u00e3o<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p><strong>O loop <strong><strong><code>while<\/code><\/strong><\/strong> em JavaScript \u00e9 uma estrutura de repeti\u00e7\u00e3o essencial que permite a execu\u00e7\u00e3o cont\u00ednua de um bloco de c\u00f3digo enquanto uma condi\u00e7\u00e3o estabelecida for verdadeira.<\/strong>&nbsp;<\/p>\n\n\n\n<p>Esse loop \u00e9 particularmente \u00fatil quando o n\u00famero de itera\u00e7\u00f5es \u00e9 determinado dinamicamente ou \u00e9 desconhecido previamente. Para garantir a efici\u00eancia do c\u00f3digo, \u00e9 vital que a condi\u00e7\u00e3o do loop possa tornar-se falsa em algum momento, evitando assim loops infinitos.&nbsp;<\/p>\n\n\n\n<p>Exemplos pr\u00e1ticos incluem solicitar entradas de usu\u00e1rios at\u00e9 receber uma resposta v\u00e1lida ou processar conjuntos de dados em aplica\u00e7\u00f5es web at\u00e9 atingir um limite espec\u00edfico.&nbsp;<\/p>\n\n\n\n<p>Em compara\u00e7\u00e3o com outros loops, como o <strong><code>for e do...while,<\/code><\/strong> o <strong><code>while<\/code><\/strong> \u00e9, portanto, intuitivo para situa\u00e7\u00f5es onde a repeti\u00e7\u00e3o depende de condi\u00e7\u00f5es externas ao loop. A sele\u00e7\u00e3o entre esses loops depende do contexto espec\u00edfico do problema e da familiaridade do desenvolvedor com a estrutura.<\/p>\n\n\n\n<p>Considere ler tamb\u00e9m:&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/python-while\/\">Python while: o guia completo para a execu\u00e7\u00e3o repetitiva<\/a>;<\/li>\n\n\n\n<li><a href=\"https:\/\/www.homehost.com.br\/blog\/javascript\/mudar-background-javascript\/\">Como mudar background em JavaScript<\/a>.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>O while JavaScript \u00e9 uma ferramenta poderosa em JS (e na maioria das linguagens de programa\u00e7\u00e3o) que permite repetir um bloco de c\u00f3digo enquanto uma condi\u00e7\u00e3o for verdadeira.&nbsp; \u00c9 importante garantir que a condi\u00e7\u00e3o do loop eventualmente se torne falsa para evitar loops infinitos. Nesse artigo, voc\u00ea ter\u00e1 um guia completo das principais informa\u00e7\u00f5es para [&hellip;]<\/p>\n","protected":false},"author":31,"featured_media":11223,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_helpful_status":1,"_lmt_disableupdate":"","_lmt_disable":"","_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[6585],"tags":[],"class_list":["post-11221","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-javascript"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>While JavaScript: um guia completo | Homehost<\/title>\n<meta name=\"description\" content=\"Saiba tudo sobre o loop while JavaScript, que permite repetir um bloco de c\u00f3digo enquanto uma condi\u00e7\u00e3o for verdadeira.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.homehost.com.br\/blog\/javascript\/while-javascript\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"While JavaScript: um guia completo | Homehost\" \/>\n<meta property=\"og:description\" content=\"Saiba tudo sobre o loop while JavaScript, que permite repetir um bloco de c\u00f3digo enquanto uma condi\u00e7\u00e3o for verdadeira.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.homehost.com.br\/blog\/javascript\/while-javascript\/\" \/>\n<meta property=\"og:site_name\" content=\"Homehost\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Homehost\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-09-13T08:58:03+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-12T21:45:11+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2023\/09\/Home-Host.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Daiana S\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@Homehost\" \/>\n<meta name=\"twitter:site\" content=\"@Homehost\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Daiana S\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.homehost.com.br\/blog\/javascript\/while-javascript\/\",\"url\":\"https:\/\/www.homehost.com.br\/blog\/javascript\/while-javascript\/\",\"name\":\"While JavaScript: um guia completo | Homehost\",\"isPartOf\":{\"@id\":\"https:\/\/www.homehost.com.br\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.homehost.com.br\/blog\/javascript\/while-javascript\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.homehost.com.br\/blog\/javascript\/while-javascript\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2023\/09\/Home-Host.png\",\"datePublished\":\"2023-09-13T08:58:03+00:00\",\"dateModified\":\"2024-04-12T21:45:11+00:00\",\"author\":{\"@id\":\"https:\/\/www.homehost.com.br\/blog\/#\/schema\/person\/eb90cb369d7098d6d85fa96c78ea1689\"},\"description\":\"Saiba tudo sobre o loop while JavaScript, que permite repetir um bloco de c\u00f3digo enquanto uma condi\u00e7\u00e3o for verdadeira.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.homehost.com.br\/blog\/javascript\/while-javascript\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.homehost.com.br\/blog\/javascript\/while-javascript\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.homehost.com.br\/blog\/javascript\/while-javascript\/#primaryimage\",\"url\":\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2023\/09\/Home-Host.png\",\"contentUrl\":\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2023\/09\/Home-Host.png\",\"width\":1200,\"height\":630},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.homehost.com.br\/blog\/javascript\/while-javascript\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"In\u00edcio\",\"item\":\"https:\/\/www.homehost.com.br\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"While JavaScript: um guia completo\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.homehost.com.br\/blog\/#website\",\"url\":\"https:\/\/www.homehost.com.br\/blog\/\",\"name\":\"Homehost\",\"description\":\"Hospedagem De Sites\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.homehost.com.br\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.homehost.com.br\/blog\/#\/schema\/person\/eb90cb369d7098d6d85fa96c78ea1689\",\"name\":\"Daiana S\",\"description\":\"Graduada em Letras pelo Instituto Federal da Para\u00edba e especializada em reda\u00e7\u00e3o geral. Gosto de escrever sobre tudo e me dedico em v\u00e1rios n\u00edveis de expressividade. No geral, todos os meus hobbies giram em torno de escrever alguma coisa e fazer isso bem. Contato: daiana.blog@homehost.com.br\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"While JavaScript: um guia completo | Homehost","description":"Saiba tudo sobre o loop while JavaScript, que permite repetir um bloco de c\u00f3digo enquanto uma condi\u00e7\u00e3o for verdadeira.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.homehost.com.br\/blog\/javascript\/while-javascript\/","og_locale":"pt_BR","og_type":"article","og_title":"While JavaScript: um guia completo | Homehost","og_description":"Saiba tudo sobre o loop while JavaScript, que permite repetir um bloco de c\u00f3digo enquanto uma condi\u00e7\u00e3o for verdadeira.","og_url":"https:\/\/www.homehost.com.br\/blog\/javascript\/while-javascript\/","og_site_name":"Homehost","article_publisher":"https:\/\/www.facebook.com\/Homehost\/","article_published_time":"2023-09-13T08:58:03+00:00","article_modified_time":"2024-04-12T21:45:11+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2023\/09\/Home-Host.png","type":"image\/png"}],"author":"Daiana S","twitter_card":"summary_large_image","twitter_creator":"@Homehost","twitter_site":"@Homehost","twitter_misc":{"Escrito por":"Daiana S","Est. tempo de leitura":"11 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.homehost.com.br\/blog\/javascript\/while-javascript\/","url":"https:\/\/www.homehost.com.br\/blog\/javascript\/while-javascript\/","name":"While JavaScript: um guia completo | Homehost","isPartOf":{"@id":"https:\/\/www.homehost.com.br\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.homehost.com.br\/blog\/javascript\/while-javascript\/#primaryimage"},"image":{"@id":"https:\/\/www.homehost.com.br\/blog\/javascript\/while-javascript\/#primaryimage"},"thumbnailUrl":"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2023\/09\/Home-Host.png","datePublished":"2023-09-13T08:58:03+00:00","dateModified":"2024-04-12T21:45:11+00:00","author":{"@id":"https:\/\/www.homehost.com.br\/blog\/#\/schema\/person\/eb90cb369d7098d6d85fa96c78ea1689"},"description":"Saiba tudo sobre o loop while JavaScript, que permite repetir um bloco de c\u00f3digo enquanto uma condi\u00e7\u00e3o for verdadeira.","breadcrumb":{"@id":"https:\/\/www.homehost.com.br\/blog\/javascript\/while-javascript\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.homehost.com.br\/blog\/javascript\/while-javascript\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.homehost.com.br\/blog\/javascript\/while-javascript\/#primaryimage","url":"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2023\/09\/Home-Host.png","contentUrl":"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2023\/09\/Home-Host.png","width":1200,"height":630},{"@type":"BreadcrumbList","@id":"https:\/\/www.homehost.com.br\/blog\/javascript\/while-javascript\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"https:\/\/www.homehost.com.br\/blog\/"},{"@type":"ListItem","position":2,"name":"While JavaScript: um guia completo"}]},{"@type":"WebSite","@id":"https:\/\/www.homehost.com.br\/blog\/#website","url":"https:\/\/www.homehost.com.br\/blog\/","name":"Homehost","description":"Hospedagem De Sites","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.homehost.com.br\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Person","@id":"https:\/\/www.homehost.com.br\/blog\/#\/schema\/person\/eb90cb369d7098d6d85fa96c78ea1689","name":"Daiana S","description":"Graduada em Letras pelo Instituto Federal da Para\u00edba e especializada em reda\u00e7\u00e3o geral. Gosto de escrever sobre tudo e me dedico em v\u00e1rios n\u00edveis de expressividade. No geral, todos os meus hobbies giram em torno de escrever alguma coisa e fazer isso bem. Contato: daiana.blog@homehost.com.br"}]}},"modified_by":"Daiana S","jetpack_featured_media_url":"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2023\/09\/Home-Host.png","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/posts\/11221","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/users\/31"}],"replies":[{"embeddable":true,"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/comments?post=11221"}],"version-history":[{"count":12,"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/posts\/11221\/revisions"}],"predecessor-version":[{"id":13941,"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/posts\/11221\/revisions\/13941"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/media\/11223"}],"wp:attachment":[{"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/media?parent=11221"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/categories?post=11221"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/tags?post=11221"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}