Funciones en JavaScript
Las funciones son bloques de código reutilizables que realizan una tarea específica. Son fundamentales en JavaScript y nos permiten organizar nuestro código de forma eficiente.
¿Qué es una función?
Una función es un conjunto de instrucciones que:
- Realizan una tarea específica
- Pueden recibir datos de entrada (parámetros)
- Pueden devolver un resultado
- Se pueden reutilizar múltiples veces
Crear tu primera función
Vamos a crear una función simple que suma dos números:
function sumar(a, b) {
return a + b
}
Desglosando la función
function sumar(a, b) {
// │ │ │
// │ │ └── Segundo parámetro
// │ └───── Primer parámetro
// └─────────── Nombre de la función
return a + b
// └──┴──── Operación que se realiza
}
Usar (llamar) la función
function sumar(a, b) {
return a + b
}
// Llamar a la función
let resultado = sumar(5, 3)
console.log(resultado) // 8
// Llamar con otros valores
console.log(sumar(10, 20)) // 30
console.log(sumar(100, 50)) // 150
Función sin parámetros
Algunas funciones no necesitan recibir datos:
function saludar() {
console.log('¡Hola, mundo!')
}
// Llamar a la función
saludar() // ¡Hola, mundo!
saludar() // ¡Hola, mundo!
saludar() // ¡Hola, mundo!
Función con parámetros
Las funciones pueden recibir uno o más parámetros:
function saludarPersona(nombre) {
console.log(`¡Hola, ${nombre}!`)
}
saludarPersona('Miguel') // ¡Hola, Miguel!
saludarPersona('Ana') // ¡Hola, Ana!
saludarPersona('Carlos') // ¡Hola, Carlos!
Múltiples parámetros
function presentarse(nombre, edad) {
console.log(`Hola, soy ${nombre} y tengo ${edad} años`)
}
presentarse('Miguel', 25) // Hola, soy Miguel y tengo 25 años
presentarse('Ana', 30) // Hola, soy Ana y tengo 30 años
La palabra clave return
return devuelve un valor desde la función y termina su ejecución:
function multiplicar(a, b) {
return a * b
}
let resultado = multiplicar(4, 5)
console.log(resultado) // 20
Función sin return
Si una función no tiene return, devuelve undefined:
function mostrarMensaje(mensaje) {
console.log(mensaje)
// No hay return
}
let resultado = mostrarMensaje('Hola')
console.log(resultado) // undefined
return termina la función
El código después de return no se ejecuta:
function ejemplo() {
console.log('Esto se ejecuta')
return 'Fin'
console.log('Esto NO se ejecuta') // Nunca llega aquí
}
ejemplo()
// Imprime: "Esto se ejecuta"
Funciones que ya existen
JavaScript tiene muchas funciones incorporadas que podemos usar sin necesidad de crearlas. No debemos crear funciones con estos nombres porque ya existen.
console.log()
Imprime mensajes en la consola:
console.log('Hola mundo')
console.log('El resultado es:', 42)
console.log('Nombre:', 'Miguel', 'Edad:', 25)
console.error()
Imprime mensajes de error en la consola:
console.error('¡Algo salió mal!')
console.error('Error:', 'No se encontró el archivo')
console.warn()
Imprime advertencias en la consola:
console.warn('Advertencia: Esta función está obsoleta')
console.warn('Cuidado: El valor es muy alto')
console.table()
Muestra datos en formato de tabla:
const usuarios = [
{ nombre: 'Miguel', edad: 25 },
{ nombre: 'Ana', edad: 30 },
]
console.table(usuarios)
alert()
Muestra una ventana emergente con un mensaje:
alert('¡Bienvenido a mi sitio web!')
alert('El resultado es: ' + (5 + 3))
Nota:
alert()bloquea la ejecución del código hasta que el usuario cierre la ventana.
prompt()
Pide al usuario que ingrese un valor:
let nombre = prompt('¿Cuál es tu nombre?')
console.log('Hola, ' + nombre)
let edad = prompt('¿Cuántos años tienes?')
console.log('Tienes ' + edad + ' años')
Nota:
prompt()siempre devuelve un string (texto), incluso si el usuario ingresa un número.
confirm()
Pide al usuario que confirme algo (devuelve true o false):
let respuesta = confirm('¿Estás seguro de eliminar este elemento?')
if (respuesta) {
console.log('Elemento eliminado')
} else {
console.log('Cancelado')
}
Practicar en GoJS.app
Abre GoJS.app y prueba estos ejercicios:
Ejercicio 1: Función básica
function saludar() {
console.log('¡Hola desde mi función!')
}
saludar()
Ejercicio 2: Función con parámetros
function sumar(a, b) {
return a + b
}
console.log(sumar(5, 3))
console.log(sumar(10, 20))
console.log(sumar(100, 200))
Ejercicio 3: Calculadora
function sumar(a, b) {
return a + b
}
function restar(a, b) {
return a - b
}
function multiplicar(a, b) {
return a * b
}
console.log('Suma:', sumar(10, 5))
console.log('Resta:', restar(10, 5))
console.log('Multiplicación:', multiplicar(10, 5))
Ejercicio 4: Con prompt (solo funciona en el navegador)
function pedirNombre() {
let nombre = prompt('¿Cuál es tu nombre?')
alert('¡Hola, ' + nombre + '!')
}
// Descomentar para probar en navegador
// pedirNombre();