Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
5
respuestas

Duda sobre el programa

En este caso el navegador me notifica que "mostrar" no está definido".

<meta charset="UTF-8">

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

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

    function a(numero1, numero2) {
        return numero1 + numero2;
    }

    function b(numero1, numero2) {
        return numero1 / numero2;
    }

    var resultado = a(10,20) + b(30,2);

    mostrar(resultado)

</script>

No obstante, si le agrego la función de imprimir, el código sale bien.

<meta charset="UTF-8">

<script>
    function saltarLinea() {

        document.write("<br>");
    }

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

    function a(numero1, numero2) {
        return numero1 + numero2;
    }

    function b(numero1, numero2) {
        return numero1 / numero2;
    }

    var resultado = a(10,20) + b(30,2);

    imprimir("El resultado es: " + resultado)

</script>

Me podrían dar una explicación.

5 respuestas

Literalmente lo que dice ahí, no existe una función "mostrar" por eso te da un error, tendrías que crearla como hiciste con impirmir.

Recuerda que las funciones se tienen que definir, es decir

function nombreDeFuncion (parametros){
    lo que hace la función
}

la función imprimir se había declarado con

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

La función mostrar no esta declarada en ninguna parte de tu código, solamente la mandaste llamar con mostrar(resultado) , para que esta linea funcione primero tienes que declarar la función mostrar o puedes cambiarle el nombre a la función imprimir por mostrar (esto ultimo tomando en cuenta que la función imprimir ya no la vas a usar)

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

Exacto, no te dio el resultado que esperabas ya que no esta declarada la funcion (mostrar). hay un conflicto. es decir: esta es la que tienes asi

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

y en el resultado tienes esto.

mostrar(resultado)

Por tal razon debes declarar una funcion llamada mostrar. como esta

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

o como ya lo hiciste en tu prueba. que llamaste la funcion imprimir y vuelve y lo colocaste abajo en el resultado.

Saludos,

¡Muchas gracias por sus explicaciones! ¡Muy valioso!

Pero de todas formas, Excelente trabajo Francisco. al final es el mismo resultado.