Funciones

En diseño reutilizas continuamente: estilos de párrafo, componentes, símbolos.

Una función agrupa código con un nombre; se declara una vez y se llama cuantas quieras.

Recibe parámetros y devuelve un resultado con return.

return devuelve; console.log solo muestra.

Las variables de una función solo existen dentro de ella (ámbito).

  • En diseño reutilizas continuamente: estilos de párrafo, componentes, símbolos. En programación, lo que se reutiliza son las funciones: bloques de código con nombre que hacen una tarea concreta y que puedes usar tantas veces como quieras.
  • function saludar() { console.log("¡Hola!"); } saludar(); // ¡Hola! saludar(); // ¡Hola!
  • Declarar (function nombre() { … }) solo define la función; no la ejecuta. Llamar (nombre()) la ejecuta. Los paréntesis son obligatorios.
  • Nombra las funciones con un verbo que diga qué hacen: calcularEscala, dibujarCirculo, elegirColor.
  • Las funciones útiles reciben datos (parámetros) y devuelven un resultado (return):

Introducción

En diseño reutilizas continuamente: estilos de párrafo, componentes, símbolos. En programación, lo que se reutiliza son las funciones: bloques de código con nombre que hacen una tarea concreta y que puedes usar tantas veces como quieras.

Declarar y llamar a una función

function saludar() { console.log("¡Hola!"); } saludar(); // ¡Hola! saludar(); // ¡Hola!

Declarar (function nombre() { … }) solo define la función; no la ejecuta. Llamar (nombre()) la ejecuta. Los paréntesis son obligatorios.

Nombra las funciones con un verbo que diga qué hacen: calcularEscala, dibujarCirculo, elegirColor.

Parámetros y valor de retorno

Las funciones útiles reciben datos (parámetros) y devuelven un resultado (return):

function calcularInterlineado(tamano, proporcion) { return tamano * proporcion; } const interlineado = calcularInterlineado(18, 1.5); // 27 console.log(calcularInterlineado(16, 1.4)); // 22.4

tamano y proporcion son parámetros: nombres que la función usa por dentro. 18 y 1.5 son los argumentos: los valores reales de esa llamada. return devuelve el resultado a quien llamó y termina la función: lo que haya debajo no se ejecuta.

Diferencia clave: console.log muestra un valor; return lo devuelve para que el programa lo siga usando. Una función que calcula algo debe devolverlo; ya decidirás fuera si lo muestras, lo guardas o lo pintas.

Funciones que deciden

Una función puede devolver resultados distintos según los datos. Así se encapsula una decisión que usarás muchas veces:

Funciones flecha

Existe una sintaxis más corta, muy usada en código moderno:

const doble = (n) => n * 2; const hslACss = (h, s, l) => `hsl(${h} ${s}% ${l}%)`; hslACss(200, 70, 45); // "hsl(200 70% 45%)"

Si el cuerpo es una sola expresión, se devuelve sin escribir return. Si necesitas varias líneas, usa llaves y return. Al principio, usa la forma que te resulte más clara.

Ámbito: dónde existe cada variable

Las variables declaradas dentro de una función (o de cualquier bloque { }) solo existen ahí dentro:

function area(ancho, alto) { const resultado = ancho * alto; return resultado; } area(3, 4); // 12 console.log(resultado); // ReferenceError: resultado is not defined

Es una ventaja: cada función tiene sus propias variables y no se pisan unas a otras. Evita depender de variables de fuera; pasa lo que necesites como parámetro.

Descomponer en funciones

¿Recuerdas el generador de carteles de la lección Algoritmos, pensar paso a paso? Cada parte es una función pequeña:

function elegirAlAzar(lista) { return lista[Math.floor(Math.random() * lista.length)]; } function generarCartel() { const fondo = elegirAlAzar(["#1d3557", "#e63946", "#f1faee"]); const texto = fondo === "#f1faee" ? "#1d3557" : "#f1faee"; return { fondo, texto }; }

Una buena función hace una sola cosa, tiene un nombre que lo dice y cabe en la pantalla sin desplazarse.

Errores frecuentes

Olvidar los paréntesis al llamar: saludar (sin ()) no ejecuta nada. Olvidar el return: la función calcula, pero devuelve undefined. Escribir código después de return y esperar que se ejecute. Pasar los argumentos en otro orden: escala(1.25, 16) no es lo mismo que escala(16, 1.25). El orden de los argumentos sigue el de los parámetros. Usar fuera de la función una variable declarada dentro.

JavaScript
65

Funciones

En diseño reutilizas continuamente: estilos de párrafo, componentes, símbolos.

Código del tema: function

📘 Teoría

Introducción

En diseño reutilizas continuamente: estilos de párrafo, componentes, símbolos. En programación, lo que se reutiliza son las funciones: bloques de código con nombre que hacen una tarea concreta y que puedes usar tantas veces como quieras.

Declarar y llamar a una función

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

saludar();   // ¡Hola!
saludar();   // ¡Hola!
  • Declarar (function nombre() { … }) solo define la función; no la ejecuta.
  • Llamar (nombre()) la ejecuta. Los paréntesis son obligatorios.

Nombra las funciones con un verbo que diga qué hacen: calcularEscala, dibujarCirculo, elegirColor.

Parámetros y valor de retorno

Las funciones útiles reciben datos (parámetros) y devuelven un resultado (return):

function calcularInterlineado(tamano, proporcion) {
  return tamano * proporcion;
}

const interlineado = calcularInterlineado(18, 1.5);   // 27
console.log(calcularInterlineado(16, 1.4));           // 22.4
  • tamano y proporcion son parámetros: nombres que la función usa por dentro.
  • 18 y 1.5 son los argumentos: los valores reales de esa llamada.
  • return devuelve el resultado a quien llamó y termina la función: lo que haya debajo no se ejecuta.

Diferencia clave: console.log muestra un valor; return lo devuelve para que el programa lo siga usando. Una función que calcula algo debe devolverlo; ya decidirás fuera si lo muestras, lo guardas o lo pintas.

Los parámetros pueden tener valor por defecto:

function escala(base, proporcion = 1.25, pasos = 5) {
  const tamanos = [];
  let medida = base;
  for (let i = 0; i < pasos; i++) {
    tamanos.push(Math.round(medida * 100) / 100);
    medida *= proporcion;
  }
  return tamanos;
}

escala(16);          // [16, 20, 25, 31.25, 39.06]
escala(16, 1.5, 3);  // [16, 24, 36]

(tamanos es un array, una lista de valores: lo verás en la lección Arrays y objetos.)

Funciones que deciden

Una función puede devolver resultados distintos según los datos. Así se encapsula una decisión que usarás muchas veces:

Funciones flecha

1

Existe una sintaxis más corta, muy usada en código moderno:

2

const doble = (n) => n * 2;
const hslACss = (h, s, l) => `hsl(${h} ${s}% ${l}%)`;

hslACss(200, 70, 45);   // "hsl(200 70% 45%)"

3

Si el cuerpo es una sola expresión, se devuelve sin escribir return. Si necesitas varias líneas, usa llaves y return. Al principio, usa la forma que te resulte más clara.

Ámbito: dónde existe cada variable

Las variables declaradas dentro de una función (o de cualquier bloque { }) solo existen ahí dentro:

function area(ancho, alto) {
  const resultado = ancho * alto;
  return resultado;
}

area(3, 4);            // 12
console.log(resultado); // ReferenceError: resultado is not defined

Es una ventaja: cada función tiene sus propias variables y no se pisan unas a otras. Evita depender de variables de fuera; pasa lo que necesites como parámetro.

Descomponer en funciones

¿Recuerdas el generador de carteles de la lección Algoritmos, pensar paso a paso? Cada parte es una función pequeña:

function elegirAlAzar(lista) {
  return lista[Math.floor(Math.random() * lista.length)];
}

function generarCartel() {
  const fondo = elegirAlAzar(["#1d3557", "#e63946", "#f1faee"]);
  const texto = fondo === "#f1faee" ? "#1d3557" : "#f1faee";
  return { fondo, texto };
}

Una buena función hace una sola cosa, tiene un nombre que lo dice y cabe en la pantalla sin desplazarse.

Errores frecuentes

  • Olvidar los paréntesis al llamar: saludar (sin ()) no ejecuta nada.
  • Olvidar el return: la función calcula, pero devuelve undefined.
  • Escribir código después de return y esperar que se ejecute.
  • Pasar los argumentos en otro orden: escala(1.25, 16) no es lo mismo que escala(16, 1.25). El orden de los argumentos sigue el de los parámetros.
  • Usar fuera de la función una variable declarada dentro.

¿Qué es esto?

Soy Cristian Eslava y a veces hago webs para procrastinar yo y vosotros. culTest

La hice en febrero de 2026 para facilitar el aprendizaje de mis alumnos. La idea es aprender desarrollo web practicando y que el proyecto siga creciendo con nuevos temas, tests y retos.

Está inspirada en MDN, W3Schools, CodePen, Manz y muchos otros sitios de documentación sobre desarrollo web. Quería combinar teoría útil, ejemplos ejecutables, retos y el sistema de tests que ya tenía en culTest. culTest

Si te gustó, si no te gustó o si quieres escribirme, puedes hacerlo en cristianeslava@gmail.com