¿Cómo enviar datos desde y hacia funciones en su juego html5

Funciones hacen que el código HTML5 juego seguro porque las variables creadas dentro de una función se destruyen cuando la función muere. A veces, sin embargo, desea que los datos se mueven de una función a otra. Una solución es la variable global, pero es un poco de una opción de crudo. Una mejor solución es permitir que los datos pasen dentro y fuera de funciones.

Por supuesto, este programa se puede escribir mediante la creación de una variable de cadena muy larga y luego copiarlo en el innerHtml atributo de la salida div, pero eso sería muy ineficiente. En su lugar, puede utilizar funciones para simplificar el trabajo. Comience mirando por encima de la función principal: makeSong ().

Video: 13.- Curso de javascript para principiantes. Pasar argumentos a funciones

 funcionar makeSong () {// crear variable de salida // de salida param.htmlvar = document.getElementById ("salida") -output.innerHTML = "-output.innerHTML + = verso (1) -output.innerHTML + = coro () - output.innerHTML + = verso (2) -output.innerHTML + = coro () -} // fin makeSong

Este código se muestra una de las principales ventajas de funciones- que le permiten dividir un problema complejo en una serie de problemas más pequeños. Un número de cosas interesantes están sucediendo aquí:

  • El programa escribe en una div llamado salida. Va a hacer una variable llamada salida que corresponde a una div llamado salida en la pagina.

  • Escribe texto en salida. Eso no es sorprendente, pero es interesante porque no hay variables o valores de texto en el makeSong () función.

    Video: 02 tutorial formulario html y css | boton de enviar

  • Todo el texto es creado por otras funciones. Hay otras dos funciones en este programa: verso() y coro(). Ambas funciones crear valores de cadena.

  • Verso puede ser “alimentado” un valor numérico. los verso función es especialmente importante, ya que se puede pasar un valor. El comportamiento cambios verso basado en el valor que se le pasa.

Cómo devolver un valor de una función en su juego

Para entender realmente lo que está pasando aquí, comenzar con la coro() función (porque es un poco más simple que verso()).

función coro () {// de resultado param.htmlvar = "-y todos ellos llegaron marchando abajo, 
"-resultado + = "al suelo, de salir, de la lluvia.
"-resultado + = "boom boom boom boom
"-resultado + = "boom boom boom boom
"-resultado + = "
"-Retorno result-} // Fin Coro

los coro() función es extremadamente simple:

  1. Crear una variable llamada resultado.

    Esta variable contiene el resultado del trabajo de la función (que será un valor de cadena que contiene el estribillo de la canción).

  2. Anexar código HTML al resultado variable.

    Este código tiene varias líneas que se acumulan el resultado. Tenga en cuenta que este es el formato HTML, porque este código será impreso en una HTML div.

  3. Regreso resultado.

    La última declaración de la función es especial. los regreso declaración le permite especificar un valor que la función devuelve a cualquier código que llamó.

  4. Utilice la función como una variable.

    Cuando una función tiene un valor de retorno, se puede tratar como una variable. Debido a que esta función devuelve una cadena, puede utilizar la función como una variable de cadena en el makeSong () función. En esa función, output.innerHTML + = coro ()se utiliza. Eso significa “ejecutar el coro() función y luego añadir lo que salga de esa función a la innerHtml del salida elemento."

¿Cómo enviar argumentos a una función en su juego

los verso() función también devuelve un valor, pero tiene otro truco bajo la manga. A pesar de que el coro es siempre la misma, el verso cambia un poco cada vez. La pequeña (que parece tener problemas de atención) se distrae de una manera diferente en cada verso.

los verso() función utiliza una idea importante que se llama parámetro de paso de para permitir que esta variación en el comportamiento. Comience por mirar el código de la función:

 función verso (verseNumber) {// de la distracción param.htmlvar = "-Si (verseNumber == 1) {distracción = "chuparse el dedo"-} else if (verseNumber == 2) {distracción = "atarse los cordones"-} else {distracción = "hay un problema aquí ..."-} // resultado ifvar final = "Las hormigas van marchando "-resultado + = verseNumber + " por " + + VerseNumber ", "-resultado + = "hurra, hurra 
"-resultado + = "Las hormigas van marchando "-resultado + = verseNumber + " por " + + VerseNumber ", "-resultado + = "hurra, hurra
"-resultado + = "Las hormigas van marchando "-resultado + = verseNumber + " por " + + VerseNumber "
"-resultado + = "El pequeño se detiene a "-resultado + = distracción + "

"-Retorno result-} // verso final

los verso() función es muy similar a la coro() función, excepto que es más flexible, ya que puede aceptar un parámetro.

  1. Llame a la función con un valor dentro de los paréntesis.

    Cuando una función está destinada a aceptar un parámetro, debe ser llamada con un valor dentro de los paréntesis. En makeSong (), ves a las llamadas verso 1) y verso (2), pero nunca verso(). Eso es porque verso está diseñado para aceptar siempre un único valor entero.

  2. Definir la función con un nombre de variable dentro de los paréntesis.

    Video: 12.- Curso de javascript para principiantes. Definir y llamar funciones

    Si nos fijamos en la definición de la función verso(), se ve que contiene la variable verseNumber entre los paréntesis. Cada vez que el verso() función se llama, que debe ser alimentado un valor, y ese valor se coloca en la variable especial verseNumber.

  3. Utilizar verseNum para encontrar la distracción.

    Video: 15.- Curso de javascript para principiantes. Uso de return. Hacer que la función devuelva un valor

    analizar la verseNumber variable y usarlo para encontrar la distracción adecuada. Poner esto en una variable llamada distracción.

  4. Construir el verso.

    incorporar el verseNumber y distracción variables en el resultado variable.

  5. Devolver el resultado.

    La función principal utiliza el valor devuelto como una cadena, imprimiendo el verso.

Artículos Relacionados