función

 

Funciones en JavaScript: Guía Completa para Principiantes

Las funciones son uno de los conceptos más importantes en JavaScript. Nos permiten organizar el código, reutilizar lógica y hacer programas más eficientes. En este post, veremos qué son, cómo se declaran y los diferentes tipos que existen.


📜 ¿Qué es una función?

Una función es un bloque de código reutilizable que realiza una tarea específica. Puede recibir datos (parámetros), procesarlos y devolver un resultado.

🔹 Sintaxis básica

javascript
function nombreDeLaFuncion() {
    // Código a ejecutar
}

🧩 Tipos de funciones en JavaScript

1️⃣ Funciones declaradas

Se definen con la palabra clave function y pueden usarse antes de su declaración (hoisting).

javascript
function saludar() {
    console.log("¡Hola!");
}
saludar(); // Llama la función

2️⃣ Funciones expresadas

Se asignan a una variable. No aplica hoisting (no se pueden llamar antes de declararse).

javascript
const saludar = function() {
    console.log("¡Hola!");
};
saludar(); // Llama la función

3️⃣ Funciones con parámetros

Reciben valores externos para trabajar con ellos.

javascript
function sumar(a, b) {
    return a + b;
}
console.log(sumar(5, 3)); // 8

4️⃣ Funciones flecha (Arrow Functions)

Sintaxis moderna, ideal para funciones cortas.

javascript
const sumar = (a, b) => a + b;
console.log(sumar(5, 3)); // 8

5️⃣ Funciones anónimas

No tienen nombre y se usan como callbacks o en eventos.

javascript
setTimeout(function() {
    console.log("Ejecutado después de 2 segundos");
}, 2000);

🔄 ¿Cómo funcionan los parámetros y argumentos?

  • Parámetros: Variables que definimos en la función.

  • Argumentos: Valores que pasamos al llamar la función.

javascript
function multiplicar(num1, num2) { // Parámetros
    return num1 * num2;
}
console.log(multiplicar(4, 5)); // Argumentos (20)

🎯 ¿Por qué usar funciones?

✔ Reutilización de código: Evita repetir lógica.
✔ Modularidad: Divide problemas en partes más pequeñas.
✔ Mantenibilidad: Facilita la lectura y actualización del código.


💡 Ejemplo práctico

html
<button onclick="saludar('Juan')">Saludar</button>

<script>
    function saludar(nombre) {
        alert(`Hola, ${nombre}!`);
    }
</script>

📌 Conclusión

Las funciones son esenciales en JavaScript. Nos ayudan a escribir código más limpio, eficiente y fácil de mantener.

🔹 ¿Te gustaría aprender más sobre funciones avanzadas como callbacks y closures? ¡Déjalo en los comentarios! 👇

Funciones Anónimas vs. Funciones Flecha en JavaScript

📌 Función Anónima

Una función anónima es una función que no tiene nombre y se define sin un identificador. Se usa comúnmente como:

  • Callbacks

  • Funciones autoejecutables

  • Asignación a variables

🔹 Sintaxis básica

javascript
function() {
  // Código a ejecutar
}

💡 Ejemplos prácticos

  1. Asignada a una variable:

javascript
const saludar = function() {
  console.log("Hola mundo");
};
saludar(); // Llama la función
  1. Como callback:

javascript
setTimeout(function() {
  console.log("Esto se ejecuta después de 1 segundo");
}, 1000);
  1. Función autoejecutable (IIFE):

javascript
(function() {
  console.log("Me ejecuto inmediatamente");
})();

🔎 Características clave

  • No tiene nombre (a menos que se asigne a una variable)

  • Tiene su propio contexto this

  • Útil para evitar contaminar el ámbito global

🏹 Función Flecha (Arrow Function)

Introducidas en ES6, son una sintaxis más corta para escribir funciones y tienen diferencias importantes en el manejo de this.

🔹 Sintaxis básica

javascript
() => {
  // Código a ejecutar
}

💡 Ejemplos prácticos

  1. Forma básica:

javascript
const sumar = (a, b) => {
  return a + b;
};
  1. Forma abreviada (return implícito):

javascript
const sumar = (a, b) => a + b;
  1. Con un solo parámetro (sin paréntesis):

javascript
const cuadrado = x => x * x;
  1. Como callback:

javascript
const numeros = [1, 2, 3];
const dobles = numeros.map(num => num * 2);

🔎 Características clave

  • Sintaxis más concisa

  • No tiene su propio this (hereda el this del contexto padre)

  • No puede usarse como constructor (no tiene prototype)

  • No tiene acceso a arguments

🔄 Diferencias clave

CaracterísticaFunción AnónimaFunción Flecha
Sintaxisfunction() {}() => {}
Contexto thisPropioHeredado
ConstructorNo
argumentsNo
Return implícitoNoSí (en formas cortas)

🛠 ¿Cuándo usar cada una?

Usa función anónima cuando:

  • Necesitas acceder al objeto arguments

  • Requieres que la función sea un constructor

  • Necesitas controlar el contexto de this

Usa función flecha cuando:

  • Quieres código más conciso

  • Necesitas preservar el contexto léxico de this

  • Trabajas con callbacks simples

  • Implementas funciones de una sola línea

💻 Ejemplo comparativo

javascript
// Función anónima tradicional
const persona = {
  nombre: "Ana",
  saludar: function() {
    setTimeout(function() {
      console.log("Hola, soy " + this.nombre); // Error: this no apunta a persona
    }, 100);
  }
};

// Función flecha
const personaMejorada = {
  nombre: "Ana",
  saludar: function() {
    setTimeout(() => {
      console.log("Hola, soy " + this.nombre); // Correcto: this heredado
    }, 100);
  }
};

📌 Conclusión

Ambos tipos de funciones tienen sus usos específicos en JavaScript. Las funciones flecha ofrecen una sintaxis más limpia y manejo especial de this, mientras que las funciones anónimas tradicionales son más versátiles en ciertos escenarios.

Funciones en JavaScript - Con y Sin Parámetros

🧩 Funciones sin parámetros

Las funciones sin parámetros son las más básicas. Se definen y ejecutan sin recibir ningún dato externo. Como en el ejemplo proporcionado:

html
<script>
    // Función sin parámetros
    function mostrarMensaje() {
        console.log("¡Hola! Este es un mensaje desde una función.");
    }
</script>

Características:

  • No aceptan valores de entrada

  • Siempre producen el mismo resultado

  • Se llaman simplemente con su nombre: mostrarMensaje()

🔄 Funciones con parámetros

Las funciones con parámetros son más flexibles, ya que pueden recibir valores externos (argumentos) para trabajar con ellos:

javascript
function saludar(nombre, edad) {
    console.log(`Hola ${nombre}, tienes ${edad} años.`);
}

// Llamada a la función con argumentos
saludar("Ana", 28); // Output: "Hola Ana, tienes 28 años."

Características:

  • Aceptan uno o múltiples parámetros

  • El resultado varía según los argumentos recibidos

  • Los parámetros actúan como variables locales dentro de la función

💻 Ejemplo Combinado

Modifiquemos el ejercicio original para incluir ambos tipos:

html
<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Ejemplo de Funciones</title>
</head>
<body>
    <h1>Ejemplos de Funciones</h1>
    
    <button onclick="mostrarMensaje()">Función sin parámetros</button>
    <button onclick="saludarUsuario('Carlos', 30)">Función con parámetros</button>

    <script>
        // Función SIN parámetros
        function mostrarMensaje() {
            console.log("¡Hola! Este es un mensaje desde una función.");
        }
        
        // Función CON parámetros
        function saludarUsuario(nombre, edad) {
            console.log(`Hola ${nombre}, tienes ${edad} años.`);
        }
    </script>
</body>
</html>

📌 Conclusión

  • Usa funciones sin parámetros cuando necesites ejecutar siempre la misma lógica

  • Usa funciones con parámetros cuando necesites que tu función sea reutilizable con diferentes valores

  • Ambas son esenciales para organizar y reutilizar código en JavaScript

¿Qué tipo de función prefieres usar en tus proyectos? ¡Déjalo en los comentarios! 👇

Comentarios

Entradas más populares de este blog

1-valores duplicados en un arreglo

Pseudocódigo de la Máquina Expendedora

Trabajas en una compañía que ofrece seguros de vida y de gastos