Solucionado (ver solución)
Solucionado
(ver solución)
1
respuesta

Por qué cuando coloco: var multiplicador++; no funciona y: multiplicador++; si funciona?

function saltarLinea(){ document.write(""); }

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

var multiplicador = 1;

while(multiplicador <= 10){
    imprimir(5 * multiplicador);
    var multiplicador++;
}

aquí dentro del while tengo: var multiplicador++ y el codigo no funciona, osea no muestra la tabla.

en cambio:

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

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

var multiplicador = 1;

while(multiplicador <= 10){
    imprimir(5 * multiplicador);
    multiplicador++;
}

sin la palabra "var" dentro del while si funciona el codigo. Tengo entendido que "var" es para declarar las variables pero si no se declara es como si ya estuviera escrito el "var" ¿Por qué uno funciona y el otro no?

1 respuesta
solución!

Se deba que para usar un while las variables ya deben estar previamente declaradas, y en for puedes declararlas dentre de la condición, un "truco" para convertir un for a while es iterar dentro del mismo, aquí te dejo el ejemplo.

function saltarLinea(){
    while (i++ < 2) {
    document.write("<br>");
    }
}

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

var multiplicador = 1;

while(multiplicador++ <= 10) {  //aquí puedes deccirle a while que itere como un for y que pare en <= 10
    imprimir(5 * multiplicador);
}