JavaScript; Ayuda con código simplón

PiratePila está baneado por "crearse clones para trollear"
Hola a todos !

Pues en mi clase estamos empezando con JavaScript y el otro día tuve que faltar por causas mayores, estuvieron haciendo un ejercicio muy simple pero preguntando a los compañeros, nadie a sabido explicarme bien el código, así que recurro a vosotros, a ver si me podéis aclarar las cosas. El código es este;

<html>
<head></head>
<body>
<script language="Javascript">
     num=parseInt(prompt("Escribe un numero;"));
     tabla = "";
     for(i=1;i<=10;i++){
       tabla=i+ " x " +num+ " = " +(i*num);
      document.write(tabla);
      document.write("<BR>---------------------------------------<BR>");
     }
</script>
</body>
</html>


Lo que no entiendo relamente es la parte de for (no entiendo cómo funciona) ni la función tabla ni por qué al hacer al final un document write con "-----------" te muestra eso en la separación entre tabla y tabla.

Seguramente sea una tontería y penséis que es muy fácil, pero así sin explicación ni nada, no me aclaro, la verdad. XD

Un saludo.
Es muy sencillo. Espero que no estés mintiendo para que te hagamos los deberes :P

El bucle for inicializa variables, itera mientras se cumpla la condición y, en cada iteración, modifica las variables. En este caso, pone i a 1, se repetirá el bucle mientras i sea menor o igual que 10 y, en cada iteración, aumentará el valor de i en 1. Entonces, este bucle for iterará recorriendo los valores de i del 1 al 10, ejecutando cada vez el cuerpo del for. No sé si era ésta la explicación del for que no entendías :P El bucle for es similar en todos los lenguajes de programación: http://es.wikipedia.org/wiki/For

tabla no es una función, simplemente asigna a la variable tabla un texto, que no es más que "i x num = i*num", supongo que lo entenderás. Prueba a cambiar la línea de tabla por tabla="hola" para que veas qué pasa. <BR> (aunque eso no es xhtml, sería <br/>) es un salto de línea. En cada iteración del bucle asigna a tabla la línea correcta, la escribe y escribe el separador (salto de línea, guiones, salto de línea).
PiratePila está baneado por "crearse clones para trollear"
amuchamu escribió:Es muy sencillo. Espero que no estés mintiendo para que te hagamos los deberes :P


Llevo muchos años aquí, para esas cosas no entro ni pregunto por aquí, te lo aseguro. XD

amuchamu escribió:El bucle for inicializa variables, itera mientras se cumpla la condición y, en cada iteración, modifica las variables. En este caso, pone i a 1, se repetirá el bucle mientras i sea menor o igual que 10 y, en cada iteración, aumentará el valor de i en 1. Entonces, este bucle for iterará recorriendo los valores de i del 1 al 10, ejecutando cada vez el cuerpo del for. No sé si era ésta la explicación del for que no entendías :P El bucle for es similar en todos los lenguajes de programación: http://es.wikipedia.org/wiki/For

tabla no es una función, simplemente asigna a la variable tabla un texto, que no es más que "i x num = i*num", supongo que lo entenderás. Prueba a cambiar la línea de tabla por tabla="hola" para que veas qué pasa. <BR> (aunque eso no es xhtml, sería <br/>) es un salto de línea. En cada iteración del bucle asigna a tabla la línea correcta, la escribe y escribe el separador (salto de línea, guiones, salto de línea).


Lo del <BR> y todo eso ya lo sé, pero ahora entiendo lo del bucle. El código escribe la "tabla", luego el <BR> y después como el bucle sigue hasta 10 sigue haciendo eso, por eso en el intervalo entre una "tabla" y otra sale el <BR>, eso es lo que no entendía ya que no comprendía bien la sentencia for.

Gracias por la aclaración. ;)

Por cierto "i++" lo que hace es incrementar "i" en +1 cada vez que se repite el bucle, verdad?
Si, i++ lo que hace es incremetar en una unidad. De todas formas, tal como esta ese bucle for, lo haria seria escribir algo asi, ¿no?:

1 x 2 = 2
---------
2 x 2 = 4
---------
3 x 2 = 6
---------
...

Quizas me este equivocando o simplemente es que es así y yo lo que creía es que después de escribir la tabla ponía la raya y no es así :P
PiratePila está baneado por "crearse clones para trollear"
Sí, sí, es tal cómo dices.

Ok, ya he solucionado todo lo que quería saber. Gracias a los dos. ;)
4 respuestas