JavaScript

JavaScript

Tutorial JavaScript: Funciones

JavaScript funciones: declaración y ejemplos. Aprende a declarar y usar funciones en JavaScript con ejemplos prácticos y detallados.

Aprende JavaScript GRATIS y certifícate

En JavaScript, las funciones son objetos de primera clase, lo que significa que pueden ser tratadas como cualquier otro objeto, como números, cadenas de texto o arreglos. Se pueden asignar a variables, pasar como argumentos a otras funciones e incluso devolver como valores de retorno desde otras funciones. Las funciones en JavaScript son versátiles y flexibles, permitiendo a los desarrolladores crear soluciones eficientes y modulares.

Definición de funciones

Hay varias maneras de definir una función en JavaScript. La forma más común es utilizando la palabra clave function, seguida del nombre de la función, una lista de argumentos entre paréntesis y, finalmente, el cuerpo de la función entre llaves. Por ejemplo:

function suma(a, b) {
return a + b;
}

Esta función toma dos argumentos a y b, y devuelve su suma. Luego, se puede llamar o invocar a esta función pasando los argumentos deseados:

var resultado = suma(2, 3); // resultado contiene el valor 5

Funciones anónimas

A veces es útil definir una función sin darle un nombre explícito. Esto se conoce como una función anónima. Por ejemplo:

var resta = function (a, b) {
return a - b;
};

Aquí, la función anónima está asignada a una variable llamada resta. Se puede invocar esta función de la misma manera que cualquier otra función:

var resultado = resta(7, 2); // resultado contiene el valor 5

Expresiones de función invocadas inmediatamente (IIFE)

Las expresiones de función invocadas inmediatamente (IIFE, por sus siglas en inglés) son otro tipo de función anónima, las cuales se invocan inmediatamente después de ser definidas. Este tipo de funciones son útiles para aislar el alcance de ciertas variables y mantener el código ordenado:

(function () {
var mensaje = "Hola, mundo!";
console.log(mensaje); // "Hola, mundo!"
})();

console.log(mensaje); // Error: mensaje no está definido

Parámetros y argumentos

Cuando se define una función, se especifica una lista de parámetros que la función espera recibir. Sin embargo, en JavaScript no es necesario pasar todos los argumentos especificados. Si se omite alguno, el valor del parámetro correspondiente será undefined. Por ejemplo:

function saludo(saludo, nombre) {
console.log(saludo + ", " + nombre);
}

saludo("Hola", "Juan"); // "Hola, Juan"
saludo("Hola"); // "Hola, undefined"

También es posible pasar más argumentos de los que se esperan. Estos argumentos adicionales pueden ser accesibles dentro de la función utilizando el objeto arguments, que es una colección de todos los argumentos pasados:

function suma() {
var resultado = 0;
for (var i = 0; i < arguments.length; i++) {
resultado += arguments[i];
}
return resultado;
}

console.log(suma(1, 2, 3, 4)); // 10

Funciones como argumentos y valores de retorno

Las funciones en JavaScript pueden tomar otras funciones como argumentos y también devolver funciones como resultado. Esto permite crear soluciones más modulares y reutilizables. Por ejemplo:

function aplicarOperacion(a, b, operacion) {
return operacion(a, b);
}

function multiplicar(a, b) {
return a * b;
}

function dividir(a, b) {
return a / b;
}

console.log(aplicarOperacion(2, 3, multiplicar)); // 6
console.log(aplicarOperacion(6, 3, dividir)); // 2

Esto también se puede combinar con funciones anónimas para lograr soluciones más rápidas y concisas:

console.log(
aplicarOperacion(2, 3, function (a, b) {
return a * b;
})
); // 6

En resumen, las funciones en JavaScript son objetos de primera clase que pueden ser tratadas como cualquier otro objeto del lenguaje. La manera en que se pueden definir, asignar, pasar como argumentos y devolver como valores de retorno, ofrece a los desarrolladores una gran flexibilidad y modularidad al momento de diseñar soluciones de software.

Aprende JavaScript GRATIS online

Ejercicios de esta lección Funciones

Evalúa tus conocimientos de esta lección Funciones con nuestros retos de programación de tipo Test, Puzzle, Código y Proyecto con VSCode, guiados por IA.

Funciones flecha

JavaScript
Puzzle

Polimorfismo

JavaScript
Test

Array

JavaScript
Código

Transformación con map()

JavaScript
Test

Introducción a JavaScript

JavaScript
Test

Gestor de tareas con JavaScript

JavaScript
Proyecto

Manipulación DOM

JavaScript
Test

Funciones

JavaScript
Test

Funciones flecha

JavaScript
Código

Async / Await

JavaScript
Código

Creación y uso de variables

JavaScript
Test

Excepciones

JavaScript
Puzzle

Promises

JavaScript
Código

Funciones cierre (closure)

JavaScript
Test

Herencia

JavaScript
Puzzle

Herencia

JavaScript
Test

Estructuras de control

JavaScript
Código

Selección de elementos DOM

JavaScript
Test

Modificación de elementos DOM

JavaScript
Test

Filtrado con filter() y find()

JavaScript
Test

Funciones cierre (closure)

JavaScript
Puzzle

Funciones

JavaScript
Puzzle

Mapas con Map

JavaScript
Test

Reducción con reduce()

JavaScript
Test

Callbacks

JavaScript
Puzzle

Manipulación DOM

JavaScript
Puzzle

Promises

JavaScript
Test

Async / Await

JavaScript
Test

Eventos del DOM

JavaScript
Puzzle

Async / Await

JavaScript
Puzzle

Promises

JavaScript
Puzzle

Filtrado con filter() y find()

JavaScript
Código

Callbacks

JavaScript
Test

Creación de clases y objetos Restaurante

JavaScript
Código

Reducción con reduce()

JavaScript
Código

Filtrado con filter() y find()

JavaScript
Puzzle

Reducción con reduce()

JavaScript
Puzzle

Conjuntos con Set

JavaScript
Puzzle

Herencia de clases

JavaScript
Código

Eventos del DOM

JavaScript
Test

Clases y objetos

JavaScript
Puzzle

Modificación de elementos DOM

JavaScript
Puzzle

Mapas con Map

JavaScript
Puzzle

Funciones

JavaScript
Código

Tipos de datos

JavaScript
Test

Clases y objetos

JavaScript
Test

Array

JavaScript
Test

Conjuntos con Set

JavaScript
Test

Array

JavaScript
Puzzle

Encapsulación

JavaScript
Puzzle

Clases y objetos

JavaScript
Código

Uso de operadores

JavaScript
Puzzle

Uso de operadores

JavaScript
Test

Estructuras de control

JavaScript
Test

Excepciones

JavaScript
Test

Transformación con map()

JavaScript
Puzzle

Funciones flecha

JavaScript
Test

Selección de elementos DOM

JavaScript
Puzzle

Encapsulación

JavaScript
Test

Mapas con Map

JavaScript
Código

Creación y uso de variables

JavaScript
Puzzle

Polimorfismo

JavaScript
Puzzle

Tipos de datos

JavaScript
Puzzle

Estructuras de control

JavaScript
Puzzle

Todas las lecciones de JavaScript

Accede a todas las lecciones de JavaScript y aprende con ejemplos prácticos de código y ejercicios de programación con IDE web sin instalar nada.

Accede GRATIS a JavaScript y certifícate

Certificados de superación de JavaScript

Supera todos los ejercicios de programación del curso de JavaScript y obtén certificados de superación para mejorar tu currículum y tu empleabilidad.

En esta lección

Objetivos de aprendizaje de esta lección

  1. Comprender que las funciones en JavaScript son objetos de primera clase y su versatilidad en el lenguaje.
  2. Conocer las diferentes formas de definir funciones en JavaScript y cómo se les pueden asignar nombres o ser anónimas.
  3. Aprender sobre las expresiones de función invocadas inmediatamente (IIFE) y cómo se utilizan para aislar el alcance de ciertas variables.
  4. Entender cómo funcionan los parámetros y los argumentos en las funciones, incluyendo cómo se manejan los argumentos extras o faltantes.
  5. Familiarizarse con el concepto de pasar funciones como argumentos y devolver funciones como valores de retorno, y cómo esto permite crear soluciones modulares y reutilizables.