Clase 8: Funciones en JavaScript

Declaración, ejecución, parámetros, retorno y casos de uso prácticos

"Las funciones son bloques reutilizables que permiten organizar el código, reducir repeticiones y hacer programas más legibles"

Introducción ¿Qué son? Sin retorno Con retorno Parámetros Ejemplos Resumen Quiz

1) Introducción

En esta clase vamos a aprender uno de los conceptos más importantes de la programación: las funciones. Las funciones permiten agrupar código en bloques reutilizables, lo que hace que nuestros programas sean más organizados, claros y fáciles de mantener.

Veremos cómo crear funciones, cómo ejecutarlas, cómo pasarles datos (parámetros) y cómo devolver resultados. También aprenderemos sobre funciones que no retornan valores y funciones que sí lo hacen.

La idea principal: dividir el código en piezas pequeñas y reutilizables hace que sea más fácil leer, entender, probar y mantener.

2) ¿Qué es una función?

Una función es un bloque de código que realiza una tarea específica. Una función se declara una sola vez pero se puede ejecutar muchas veces.

Reutilización

No hay que repetir el mismo código una y otra vez. Se escribe una vez y se llama cuando se necesita.

Organización

El código se divide en partes lógicas. Cada función tiene una responsabilidad clara.

Legibilidad

El código es más fácil de entender cuando está dividido en funciones con nombres descriptivos.

Sintaxis básica

function saludar() {
console.log("¡Hola, mundo!");
}
// Llamar a la función
saludar(); // Output: ¡Hola, mundo!

En este ejemplo, saludar es el nombre de la función. Los paréntesis () indican dónde van los parámetros (si los hubiera). Las llaves {} contienen el código que se ejecuta.

3) Funciones sin retorno

Las funciones sin retorno simplemente ejecutan código pero no devuelven un valor. Generalmente se usan para realizar acciones como mostrar mensajes, modificar el DOM o cambiar estados.

Ejemplo: Función sin parámetros ni retorno

function mostrarMensaje() {
console.log("Esta función solo imprime un mensaje");
}
mostrarMensaje();

Ejemplo: Función con parámetros pero sin retorno

function saludarPersona(nombre) {
console.log("¡Hola, " + nombre + "!");
}
saludarPersona("Carlos"); // Output: ¡Hola, Carlos!
saludarPersona("María"); // Output: ¡Hola, María!
saludarPersona("Pedro"); // Output: ¡Hola, Pedro!

La función saludarPersona recibe un parámetro nombre y lo usa en el mensaje, pero no retorna nada. Solo imprime en consola.

4) Funciones con retorno

Las funciones con retorno devuelven un valor que se puede usar en el resto del código. Se usa la palabra clave return para indicar qué valor devuelve la función.

Ejemplo: Función que retorna un valor

function sumar(a, b) {
return a + b;
}
let resultado = sumar(5, 3);
console.log(resultado); // Output: 8
console.log(sumar(10, 20)); // Output: 30

La palabra return detiene la ejecución de la función y devuelve el valor especificado. Ese valor puede guardarse en una variable o usarse directamente.

Ejemplo: Función que valida y retorna un booleano

function esAdulto(edad) {
if (edad >= 18) {
return true;
} else {
return false;
}
}
console.log(esAdulto(25)); // Output: true
console.log(esAdulto(15)); // Output: false

Ejemplo: Función que retorna un texto procesado

function convertirMayusculas(texto) {
return texto.toUpperCase();
}
let mensaje = convertirMayusculas("hola mundo");
console.log(mensaje); // Output: HOLA MUNDO

5) Parámetros y argumentos

Los parámetros son las variables que una función espera recibir. Los argumentos son los valores reales que se pasan cuando se llama la función.

Parámetros

Se definen entre paréntesis al crear la función. Son como "espacios vacíos" que se llenarán después.

Argumentos

Son los valores específicos que se pasan cuando se llama la función. Llenan esos "espacios vacíos".

Múltiples parámetros

Una función puede recibir varios parámetros, separados por comas. El orden importa.

Ejemplo: Función con múltiples parámetros

function calcularEdad(añoNacimiento) {
let edadActual = 2024 - añoNacimiento;
return edadActual;
}
console.log(calcularEdad(1995)); // Output: 29
console.log(calcularEdad(2005)); // Output: 19

Ejemplo: Función con varios parámetros

function calcularPromedio(nota1, nota2, nota3) {
let promedio = (nota1 + nota2 + nota3) / 3;
return promedio;
}
let resultado = calcularPromedio(8, 9, 7);
console.log(resultado); // Output: 8

6) Ejemplos prácticos

Ejemplo 1: Validar una contraseña

function validarContraseña(contraseña) {
    if (contraseña.length >= 8) {
        return true;
    } else {
        return false;
    }
}
console.log(validarContraseña("abc")); // false
console.log(validarContraseña("miPass123")); // true

Salida esperada

validarContraseña("abc")       → false
validarContraseña("miPass123") → true

Ejemplo 2: Función que retorna un objeto

function crearPersona(nombre, edad, ciudad) {
    return {
        nombre: nombre,
        edad: edad,
        ciudad: ciudad
    };
}
let persona1 = crearPersona("Ana", 28, "Madrid");
console.log(persona1.nombre); // Ana
console.log(persona1.edad); // 28
console.log(persona1.ciudad); // Madrid

Salida esperada

nombre: Ana
edad: 28
ciudad: Madrid

Ejemplo 3: Función recursiva (que se llama a sí misma)

function factorial(n) {
    if (n === 0 || n === 1) {
        return 1;
    } else {
        return n * factorial(n - 1);
    }
}
console.log(factorial(5)); // 120
console.log(factorial(4)); // 24

Salida esperada

factorial(5) = 120
factorial(4) = 24

Ejemplo 4: Función que procesa un array

function sumarArray(numeros) {
    let total = 0;
    for (let i = 0; i < numeros.length; i++) {
        total = total + numeros[i];
    }
    return total;
}
let lista = [10, 20, 30, 40];
console.log(sumarArray(lista)); // 100

Salida esperada

lista = [10, 20, 30, 40]
sumarArray(lista) = 100

8) Resumen

¿Qué son?

Las funciones son bloques de código reutilizables que permiten organizar, simplificar y mantener el código.

Sintaxis

function nombre(parámetros) { código }

Sin retorno

Ejecutan código pero no devuelven valor. Se usan para acciones o efectos secundarios.

Con retorno

Devuelven un valor usando return. Ese valor se puede usar después.

Parámetros

Son variables que la función recibe. Permiten que la función funcione con diferentes datos.

Ventajas

Evitan repetición de código, hacen el código más legible y fácil de mantener.

Recuerda: Escribe funciones pequeñas, con un propósito claro y nombres descriptivos. Una buena función hace una cosa bien.

9) Cuestionario

Pregunta 1: ¿Cuál es la función principal de una función en programación?

Pregunta 2: ¿Qué palabra clave se usa para devolver un valor desde una función?

Pregunta 3: ¿Cómo se llaman los valores que recibe una función?

Pregunta 4: ¿Una función sin return devuelve algo?

Pregunta 5: ¿Qué ventaja tiene usar funciones?

Pregunta 6: ¿Cuál es la sintaxis correcta para definir una función?

Pregunta 7: ¿Qué es una función recursiva?

Pregunta 8: ¿El orden de los parámetros en una función es importante?