1.7 – Funciones con JS

Una función es un bloque de código reutilizable que ejecuta una tarea concreta.
Sirve para organizar, reutilizar y abstraer lógica.

Idea clave: no repitas código, encapsúlalo.

Ejemplo mental: una cafetera.
Entras agua + café → proceso → sale café.
La función hace exactamente eso, pero con datos.


2. Sintaxis básica

function nombreFuncion() {
    // código a ejecutar
}

Ejemplo:

function saludar() {
    console.log("Hola mundo");
}

La función no se ejecuta sola. Hay que llamarla:

saludar();

3. Funciones con parámetros

Los parámetros son datos que recibe la función.

function saludar(nombre) {
    console.log("Hola " + nombre);
}

saludar("Antonio");
saludar("Bea");

La función se adapta al dato. Eso es abstracción.


4. Retorno de valores (return)

Una función puede devolver un resultado.

function saludar(nombre) {
    console.log("Hola " + nombre);
}

saludar("Antonio");
saludar("Bea");

Sin return, la función devuelve undefined.

Concepto importante:
return termina la ejecución de la función.


5. Parámetros vs argumentos

  • Parámetros → variables definidas en la función
  • Argumentos → valores reales que se pasan al llamar
functionmultiplicar(x, y) {   // parámetrosreturnx*y;}multiplicar(4, 2);             // argumentos

6. Funciones que llaman a otras funciones

Las funciones pueden componer comportamiento.

function cuadrado(n) {
    return n * n;
}

function mostrarCuadrado(num) {
    let resultado = cuadrado(num);
    console.log(resultado);
}

mostrarCuadrado(5);

Esto es modularidad. Construir piezas pequeñas y combinarlas.


7. Funciones anónimas

Funciones sin nombre, normalmente guardadas en variables.

let saludar = function(nombre) {
    return "Hola " + nombre;
};

console.log(saludar("Carlos"));

8. Arrow functions (funciones flecha)

Forma moderna y compacta.

let sumar = (a, b) => {
    return a + b;
};

Si solo hay una línea:

let sumar = (a, b) => {
    return a + b;
};

Si solo hay un parámetro:

let cuadrado = n => n * n;

9. Ámbito (scope)

El scope define dónde existe una variable.

function prueba() {
    let x = 10;
    console.log(x);
}

prueba();
console.log(x); // ERROR

x solo vive dentro de la función.
Esto protege el programa de efectos colaterales.


10. Buenas prácticas

Nombres claros

Mal:

functionf(x) {}

Bien:

function calcularTotal(precio, iva) {}

Funciones pequeñas

Una función debe hacer una sola cosa.


Evitar repetir código

Si copias y pegas → necesitas una función.


11. Ejemplos prácticos

Calcular precio con IVA

function calcularPrecioConIVA(precio) {
    return precio * 1.21;
}

console.log(calcularPrecioConIVA(100));

Verificar si un número es par

function esPar(numero) {
    return numero % 2 === 0;
}

console.log(esPar(4));
console.log(esPar(7));

Convertir JSON recibido del backend (pensando en JEE)

function pintarUsuario(usuario) {
    console.log("Nombre: " + usuario.nombre);
    console.log("Email: " + usuario.email);
}

let json = {
    nombre: "Antonio",
    email: "antonio@email.com"
};

pintarUsuario(json);

Aquí empieza el puente hacia DOM + datos del servidor.


12. Ejercicios

  1. Crear función que calcule el área de un rectángulo
  2. Crear función que convierta grados Celsius a Fahrenheit
  3. Crear función que reciba un nombre y devuelva: "Bienvenido <nombre>"
  4. Crear función que reciba un array y devuelva la suma total