3
respuestas

Lectura secuencial?

Tal vez, es una duda que vengo arrastrando de tópicos anteriores. Probando, noté que si uso una función, por ejemplo "document.write" y en el argumento tengo un error en cualquier línea (primera, segunda, cuarta, etc) no me lee ninguna línea anterior. Por lo que entiendo la lectura es secuencial así que supongo que si uso la misma función consecutivamente (hasta que no la cambie/interrumpa) la sigue leyendo como la misma línea. Estoy en lo correcto?

A continuación una pruebita que estuve haciendo:

<meta charset = "UTF-8">

<h1>PROGRAMA</h1>

<script>

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

    var anho = 2022


    document.write ("Mar tiene: " )
    document.write (( anho - 2000) + " años"); //Si escribo en otra línea "document.write" no tengo que poner el + (antes de anho en este caso)

    document.write("<br>" + "<br>" + "<br>") //Si no le pongo el "+"" no lee ni siquiera las líneas de arriba. Produce ERROR y no imprime nada

    document.write ("Nair tiene: " + (anho - 1995) + " años");

    //saltolinea //Esta variable no está declarada. Produce error pero sí lee las líneas superiores

    saltarlinea();
    document.write ("Gus tiene: " + (anho - 2001) + " años");

    </script>
3 respuestas

hola, la pregunta seria que IDE usas para programar, por ejemplo yo usa visual studio code y no me arroja ningun error, lo ideal seria que tambien cada funcion la cierres con su respectivo " ; "

Hola Ramiro. Gracias por tu respuesta. Estoy usando Sublime 3.2.2. Aclaro que uso Chrome y está actualizado. Apliqué lo que mencionaste, cerrar con ";" pero me siguen dando errores parecidos (aclaro que me aparecen en la ventana de desarrollador del browser), que paso a mostrar a continuación con un código similar y comentarios.

<meta charset = "UTF-8">

<h1>PROGRAMA</h1>

<script>

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

    var anho = 2022


    document.write ("Mar tiene: " );
    document.write (( anho - 2000) + " años"); //Si borro el "+" no lee la línea de arriba tampoco pero el error es en esta línea

    document.write("<br>" + "<br>" + "<br>textoquepruebaqueleeelsalto"); //Si no le pongo el "+"" no lee ninguna línea anterior pero el error es en ésta línea

    document.write ("Nair tiene: "  (anho - 1995) + " años"); //si le borro el primer "+" SÍ lee las líneas anteriores (incluso los saltos). Si le borro el segundo "+" (y dejo el primero o lo borro también) NO lee ninguna línea. Pero el error está en esta línea. ESTO ES LO MAS RARO

    </script>

que tal Cecilia, ahora si ya lo estoy haciendo desde mi pc, use tu codigo tal cual y solo hice unos cambios, por ejemplos los < br > les quite el espacio y la concatenacion, te muestro los restados.. ah solo recuerda que si quieres dar varios saltos en la misma funcion es:

//una de las formas correctas seria
document.write("<br><br><br>"); 
// si quieres mas de un salto de linea debe ser dentro de las mismas comillas
//ya que si las usas con diferente comilla, si tienes que concatenar con el + porque son diferentes textos dentro de la funcion document.write.

//por que si lo pones de la siguiente manera:

document.write("<br>" "<br>" "<br>");  // cada que ve unas comillas las toma por texto separado y para mostralas si debes concatenarlas con + 



// cada que haces esto 
document.write("Hola");
document.write("Mundo"); 
// el compilador automaticamente concatena los textos dentro del document.write

<meta charset = "UTF-8">

<h1>PROGRAMA</h1>

<script>

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

    var anho = 2022;


    document.write ("Mar tiene: " );
    document.write (( anho - 2000) + " años");         //Si escribo en otra línea "document.write" no tengo que poner el + (antes de anho en este caso)

    document.write("<br><br><br>");          //Si no le pongo el "+"" no lee ni siquiera las líneas de arriba. Produce ERROR y no imprime nada

    document.write("Nair tiene: " + (anho - 1995) + " años");

    saltarlinea();
    document.write ("Gus tiene: " + (anho - 2001) + " años");

    </script>

Resultado del codigo

espero que te ayude y no te confundirte mas, de igual manera si tienes dudas puedes escribirme en mi correo o discord ramiro.ignot@gmail.com o ramiro gonzalez#8060