Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
4
respuestas

Comprensión del codigo

Buenas me cuesta entender el bucle while del siguiente código:

<meta charset="UTF-8">

<script>

    function saltarLinea() {
        document.write("<br>");
    }

    function imprimir(frase) {
        document.write(frase);
        saltarLinea();
    }

    var respuesta = ""; // todavía no hay respuesta

    while(true) {
        respuesta = prompt("¿Cuál es tu nombre?");
    }

    imprimir("FIN");

</script>

Lo que no logro entender el bucle while (Mientras), en este caso es verdadero (true) pero verdadero que cosa? si no esta comparando nada y la variable nombres es un string y es 0, pero donde hace la comparación o porque saldría del bucle?

4 respuestas

Hola Nicolás.

Lo que hace el while es que mientras lo que esté en paréntesis sea verdadero, va a ingresar al while.

Por ejemplo:

while(2 < 5)

2 menor que 5 es verdadero, entonces hacé de cuenta como si reemplazaría eso por "verdadero" (o en inglés, true) . Quedaría así --> while(true)

Entonces, en el código de ejemplo, donde dice while(true) Siempre true va a ser true, entonces, siempre va a ingresar al bucle while

Espero haber explicado bien y que se haya entendido. Saludos!

Como estas Gonza, Muchas gracias por responder; si mi duda mas que nada es sobre la interpretación de este código , yo comprendo que mientras sea verdadero va a correr el bucle pero donde estaría verificando que se cumpla el verdadero? o la idea del código era solo usar el break? para mostrar como corta el bucle?

solución!

Es que, como la condición del while directamente tiene un true, siempre va a volver a ingresar, en un bucle infinito. El paso a paso sería:

1) Entra al while porque true evidentemente es true

2) ejecutá el prompt preguntando "¿Cuál es tu nombre?"

3) Vuelve al while y como true es true, vuelve a ingresar

4) Vuelve a ejecutar el prompt preguntando "¿Cuál es tu nombre?"

5) y así eternamente...

El profesor habrá puesto eso para verificar que siempre va a ingresar al while en un bucle infinito y para mostrar el break y cortar el bucle. Pero no es normal poner esa condición (true) en un while cuando se desarrolla algún programa.

Espero haber evacuado la duda.

Abrazo!!

Genial amigo, Muchas gracias geniooo