Curso de JavaScript desde cero

¿Cómo funcionan las funciones en JavaScript?

Capítulo 27: Las funciones

Comenzamos con nuevo tema muy útil, imprescindible e interesante, las funciones.

¿Qué son las funciones predefinidas?

Los lenguajes de programación cuentan con una serie de funciones predefinidas. Para que te hagas una idea, son fragmentos de código ya escrito que podemos llamar para utilizar en cualquier momento. Un ejemplo de función predefinida es isNaN(), la cual lleva escrito en el propio lenguaje JavaScript el código necesario para determinar si un valor o una variable es o no un número.
Hay gran cantidad de funciones predefinidas, las iremos viendo a lo largo del curso.
En este capítulo te voy a enseñar a crear tus propias funciones, con ellas, podrás ahorrar mucho código, podrás reutilizar el código de las funciones todas las veces que quieras solo con una llamada.

Palabra del lenguaje nº 43 encontrada.
isNaN() es una función predefinida de JavaScript que devuelve si un valor es numérico o no.

¿Cómo crear una función en JavaScript?

Para declarar (también definir o expresar) una función en JavaScript lo haremos con la palabra function. Después debes darle un nombre que siga las normas de nomenclatura que te enseñe con las variables. Entre sus paréntesis podemos añadir una serie de parámetros separados por comas. Finalmente, el código que quieres que se ejecute encerrado entre llaves.

Palabra del lenguaje nº 44 encontrada.
function es la palabra que debes utilizar para declarar funciones en JavaScript.

Aquí tienes un pequeño ejemplo:

function suma (numero1,numero2) {
	return numero1 + numero2;
}

let guardaSuma = suma(10,10);
document.write("El valor de la suma es: " + guardaSuma);

La función llamada suma lleva dos parámetros, numero1 y numero2. Ambos funcionan como variables, pero no hay que declararlos. Esto se hace al crear la función. Dichos parámetros sirven para ser utilizados dentro de la función. Estos no podrán ser alcanzados desde fuera de la propia función, es decir, si llamas por ejemplo a numero1 en un document.write(), no va a salir nada.
Con el uso de return conseguimos finalizar la función y que esta devuelva un valor, valor de la suma de los dos parámetros que de momento no tienen ningún valor, se lo daremos en cada llamada que hagamos a la función. Este valor, lo estoy consiguiendo guardar en la variable guardaSuma, en la cual estoy haciendo la llamada a la función. Acción que hace que esta se ejecute. En la llamada, especifico con dos valores numéricos, los valores correspondientes para los dos parámetros especificados en la función (numero1, numero2).

funciones en JavaScript
Palabra del lenguaje nº 45 encontrada.
return fuerza la salida de la función en la que se encuentra, es algo como el break. Además, devuelve un valor.

El alcance de las funciones

Todavía no vamos a ir con temas de alcance, esto lo veremos pronto, de momento tienes que saber que estas variables de fuera de la función no son las mismas que los parámetros con el mismo nombre, tienen alcances diferentes, las declaradas dentro de las funciones solo se pueden acceder desde dentro de ellas (al menos con lo que te he enseñado hasta ahora).

let numero1;
let numero2;

function suma (numero1, numero2) {
	return numero1 + numero2;
}

let guardaSuma = suma(10,10);

numero1 = 25;
numero2 = 50;

console.log(numero1);
console.log(numero2);
console.log(guardaSuma);

Nos devuelve 25 y 50, estos son los valores de numero1 y numero2 de fuera de la función, en cambio, guardaSuma, suma los valores recibidos en la llamada.

25
50
20

De hecho, podemos probar de eliminar estas dos variables de fuera de la función y verás como te devuelve un error si las intentas llamar.

function suma (numero1, numero2) {
	return numero1 + numero2;
}

let guardaSuma = suma(10,10);

console.log(numero1);

Pese a existir dentro de la función, es como si no existiera fuera de ella. La consola da error diciendo que la variable no se ha definido.

 error: Uncaught ReferenceError: numero1 is not defined

Podemos llamar a las funciones tantas veces como queramos ejecutarlas.

function suma (numero1, numero2) {
	return numero1 + numero2;
}

let suma1 = suma(10,10);
let suma2 = suma(56,13);
let suma3 = suma(7,87);
let suma4 = suma(9797,546754);

console.log("los valores de las sumas son:");

console.log(suma1, suma2, suma3, suma4);

Ejercicios de JavaScript

  1. Crea una función que opere un número al cuadrado (número multiplicado por si mismo). Pista: en la función solo tienes que utilizar un parámetro.
    Opcionalmente, puedes hacer una prueba en la consola, en el documento o en un alert() si quieres ver el valor del return, pero no es obligatorio.

La solución la encontrarás aquí: Soluciones de ejercicios de JavaScript.


Comentarios

Si te quedan dudas sobre el temario, sobre JavaScript o cualquier otra cosa relacionada o simplemente quieres agradecer, aquí tienes tu sitio para dejar tu granito de arena. Gracias por tus comentarios y por darle vida a este sitio web.

Twitter

Programación Fácil YouTube

Suscríbete

Si te ha gustado este curso y crees que el trabajo merece la pena, te agradeceré eternamente que te suscribas a mi canal de YouTube para apoyarme y que pueda seguir haciendo cursos gratuitos.

Además, si te encanta la programación, tienes un montón más de cursos gratuitos para ver.

No solo eso, podrás participar enviándome comentarios con tus sugerencias para temas específicos o cursos completos o incluso las dudas que tengas y las intentaré ir resolviendo en los cursos que estén todavía abiertos.