<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
</head>
<body style="color:white;background-color:black">
<h2>Pagina para realizar pruebas con JavaScript</h2>
<hr>
<span id="Dato_001">Datos en etiqueta SPAN</span>
<br>
<p id="Dato_002">Datos en la etiqueta P </p>
<script>
// En esta sección se copia/escribe el codigo JavaScript
</script>
</body>
</html>
Muy a menudo necesitamos realizar acciones similares en muchos lugares del script.
Por ejemplo, debemos mostrar un mensaje atractivo cuando un visitante inicia sesión, cierra sesión y tal vez en otros momentos.
Las funciones son los principales “bloques de construcción” del programa. Permiten que el código se llame muchas veces sin repetición.
Ya hemos visto ejemplos de funciones integradas, como alert(message), prompt(message, default) y confirm(question). Pero también podemos crear funciones propias.
Para crear una función podemos usar una declaración de función.
Se ve como aquí:
Codigo
<script>
function showMessage()
{
alert( '¡Hola a todos!' );
}
</script>
La palabra clave function va primero, luego va el nombre de función, luego una lista de parámetros entre paréntesis (separados por comas, vacía en el ejemplo anterior) y finalmente el código de la función entre llaves, también llamado “el cuerpo de la función”.
<script>
function name(parameter1, parameter2, ... parameterN)
{
// cuerpo de la funcion
}
</script>
Nuestra nueva función puede ser llamada por su nombre: showMessage().
<script>
function showMessage()
{
alert( '¡Hola a todos!' );
}
showMessage();
showMessage();
</script>
La llamada showMessage() ejecuta el código de la función. Aquí veremos el mensaje dos veces.
Este ejemplo demuestra claramente uno de los propósitos principales de las funciones: evitar la duplicación de código…
Si alguna vez necesitamos cambiar el mensaje o la forma en que se muestra, es suficiente modificar el código en un lugar: la función que lo genera.
Una variable declarada dentro de una función solo es visible dentro de esa función.
Codigo
<script>
function showMessage()
{
let message = "Hola, ¡Soy JavaScript!"; // variable local
alert( message );
}
showMessage(); // Hola, ¡Soy JavaScript!
alert( message ); // <-- ¡Error! La variable es local para esta función
</script>
Una función también puede acceder a una variable externa o global, por ejemplo:
Codigo
<script>
let userName = 'Juan'; // variable externa o global
function showMessage()
{
let message = 'Hola, ' + userName;
alert(message);
}
showMessage(); // Hola, Juan
</script>
La función tiene acceso completo a la variable externa. Puede modificarlo también.
Codigo
<script>
let userName = 'Juan';
function showMessage()
{
userName = "Bob"; // (1) Cambió la variable externa
let message = 'Hola, ' + userName;
alert(message);
}
alert( userName ); // Juan antes de llamar la función
showMessage();
alert( userName ); // Bob, el valor fué modificado por la función
</script>
Crea un HTML con el script anterior, modificalo
PROMPTparseFloatProcura no copiar directamente la respuesta desde una IA
Podemos pasar datos arbitrarios a funciones usando parámetros.
En el siguiente ejemplo, la función tiene dos parámetros: parametro_from y parametro_text.
Codigo
<script>
function showMessage(parametro_from, parametro_text) { // parámetros: parametro_from, parametro_text
alert(parametro_from + ': ' + parametro_text);
}
showMessage('Ann', '¡Hola!'); // Ann: ¡Hola! (*)
showMessage('Ann', "¿Cómo estás?"); // Ann: ¿Cómo estás? (**)
</script>
Cuando un valor es pasado como un parámetro de función, también se denomina argumento.
Para poner los términos claros:
Declaramos funciones listando sus parámetros, luego las llamamos pasándoles argumentos.
En el ejemplo de arriba, se puede decir: "la función showMessage es declarada con dos parámetros, y luego llamada con dos argumentos: from y "Hola"".
Crea un HTML con el script anterior, pruebalo
Procura no copiar directamente la respuesta desde una IA
Una función puede devolver un valor al código de llamada como resultado.
El ejemplo más simple sería una función que suma dos valores:
Codigo
<script>
function sum(a, b)
{
return a + b;
}
let result = sum(1, 2);
alert( result ); // 3
</script>
La directiva return puede estar en cualquier lugar de la función. Cuando la ejecución lo alcanza, la función se detiene y el valor se devuelve al código de llamada (asignado al result anterior).
Crea un HTML con el script anterior, modificalo
PROMPT dos valores numericosProcura no copiar directamente la respuesta desde una IA
Las funciones son acciones. Entonces su nombre suele ser un verbo. Debe ser breve, lo más preciso posible y describir lo que hace la función, para que alguien que lea el código obtenga una indicación de lo que hace la función.
Es una práctica generalizada (en inglés) se debe comenzar una función con un prefijo verbal que describe vagamente la acción. Debe haber un acuerdo dentro del equipo sobre el significado de los prefijos.
Por ejemplo, funciones que comienzan con "show" usualmente muestran algo.
Funciones con nomenclatura inglesa :
<script>
showMessage(); // muestra un mensaje
getAge(); // devuelve la edad (la obtiene de alguna manera)
calcSum(); // calcula una suma y devuelve el resultado
createForm(); // crea un formulario (y usualmente lo devuelve)
checkPermission(); // revisa permisos, y devuelve true/false
</script>
Una función – una acción
Una función debe hacer exactamente lo que sugiere su nombre, no más.
Dos acciones independientes por lo general merecen dos funciones, incluso si generalmente se convocan juntas (en ese caso, podemos hacer una tercera función que llame a esas dos).
Algunos ejemplos de cómo se rompen estas reglas:
En estos ejemplos asumimos los significados comunes de los prefijos.
Una declaración de función se ve así:
Codigo
<script>
function name(parámetros_delimitados, por_coma)
{
/* codigo */
}
</script>
undefined.Para que el código sea limpio y fácil de entender, se recomienda utilizar principalmente variables y parámetros locales en la función, no variables externas.
Siempre es más fácil entender una función que obtiene parámetros, trabaja con ellos y devuelve un resultado que una función que no obtiene parámetros, pero modifica las variables externas como un efecto secundario.
Nomenclatura de funciones:
Las funciones son los principales bloques de construcción de los scripts. Ahora hemos cubierto los conceptos básicos, por lo que en realidad podemos comenzar a crearlos y usarlos. Pero ese es solo el comienzo del camino. Volveremos a ellos muchas veces, profundizando en sus funciones avanzadas.