Javascript 3
Javascript 3
Las funciones son estructuras esenciales dentro del código. Una función es
un grupo de instrucciones que constituyen una unidad lógica del
programa y resuelven un problema muy concreto. Presentan varias
ventajas, entre ellas las de permitir dividir un problema complejo en partes
menores y más simples, reutilizar código en el mismo o en otro programa,
simplificar
la depuración, etcétera.
JavaScript proporciona al usuario una serie de funciones implementadas y
listas para utilizar. Sin embargo, no es difícil encontrar situaciones en las
que necesitamos realizar alguna tarea para la cual no existe una función
disponible, y debemos utilizar los mecanismos que nos proporciona JS para
construir nuestras propias funciones.
Programación modular
La metodología de división por módulos se conoce
habitualmente como “divide y vencerás” y en programación se
llama Desarrollo Top Down.
Los argumentos son los valores que se pasan a la función cuando ésta
es invocada, “7” y “4” en el ejemplo:
Esta función tiene un sólo parámetro que indica hasta qué valor
calculará:
// Declaración //Ejecución
function tablaMultiplicar(hasta) { tablaMultiplicar(4)
for (var i = 1; i <= hasta; i++)
console.log("1 x", i, "=", 1 * i)
}
// Ejecución
tablaMultiplicar(1, 10) // Tabla del 1, calcula desde el 1 hasta el 10
tablaMultiplicar(5, 8) // Tabla del 5, calcula desde el 1 hasta el 8
Funciones | Parámetros múltiples
//Ejecución
var ape= prompt("Ingrese su apellido") EsĞa función recibe Ğres parámeĞros y
var nom= prompt("Ingrese su nombre") en función del valor de uno de ellos
var edad= prompt("Ingrese su edad") (miEdad) deĞermina si la persona es
mayoriaEdad(ape, nom, edad) mayor de edad (>=18)
Parámetros predeterminados
Los parámetros predeterminados de function multiplicar(a, b = 1) {
return a * b;
función permiten que los parámetros con }
nombre se inicien con valores
console.log(multiplicar(5, 2)); // salida:
predeterminados si no se pasa ningún 10 console.log(multiplicar(5)); // salida:
valor o undefined. 5
// Declaración
function sumar(a, b) {
return a + b // Devolvemos la suma de a y b al exterior de la función
}
// Ejecución
var a = 5, b = 5
var resultado = sumar(a, b) // Se guarda 10 en la variable resultado
console.log("La suma entre "+ a +" y "+ b +" es: "+ resultado)
Funciones | Devolución de valores
Veamos dos funciones que hacen lo mismo, una retorna valores y otra
no:
function sumar(num1, num2){ Esta función muestra “La suma es …” en
var suma = num1 + num2 la consola, pero no retorna ningún valor
console.log("La suma es " + suma)
}
al programa.
sumar(2,5)
var numeroMaximo = function (valor1, valor2) { En este caso se piden dos valores
if (valor1 > valor2) { return valor1 } y si la condición no se cumple se
return valor2
}
asume que el valor2 es el
var v1 = parseInt(prompt("Ingrese un número entero")) máximo (no es necesario un
var v2 = parseInt(prompt("Ingrese otro número entero")) else)
console.log("El número máximo es:", numeroMaximo(v1,v2))
Funciones | Función flecha (arrow Function)
En JavaScript existe la forma resumida de escribir las funciones. Se llaman
funciones flecha, en alusión a =>. Permiten definir funciones de manera
más fácil, breve y rápida, aunque están limitadas a funciones más simples.
Para crear estas funciones flecha partiremos del ejemplo:
// 2. Quita los llaves{} del cuerpo y la palabra "return" (el return está
implícito). (a) => a + 100
function saludar(nombre) {
alert('Hola ' + nombre)
El ejemplo es un callback
} sincrónico, ya que se
function procesarEntradaUsuario(callback) { ejecuta inmediatamente.
var nombre = prompt('Por favor ingresa tu nombre.')
callback(nombre)
}
procesarEntradaUsuario(saludar)
Clausuras
(clousure)
Una clausura o cierre se define como una función que «encierra» variables en su
propio ámbito (y que continúan existiendo aún habiendo terminado la función).
Es decir, devolvemos una función en una función externa que hace referencia a las
variables locales de la función externa. Esto es posible si tenemos funciones anidadas
en otra función y devueltas como referencia.
function iniciar() {
var nombre = "Codo a Codo" // La variable nombre es una variable local creada por iniciar.
function mostrarNombre() { // La función mostrarNombre es una función interna, una
clausura.
alert(nombre); // Usa una variable declarada en la función externa.
}
mostrarNombre()
}
iniciar()
Clausuras |
Ejemplo
La función creaSumador(x) toma un function creaSumador(x) {
return function(y) {
argumento único x y devuelve una nueva return x + y;
función. Esa nueva función toma un único };
argumento y, devolviendo la suma de x + }
y. var suma5 = creaSumador(5);
var suma10 = creaSumador(10);
creaSumador es una fábrica de
función. suma5 y suma10 son ambos console.log(suma5(2)); // muestra 7
closures. console.log(suma10(2)); // muestra 12
Videos:
● Curso Básico de Javascript - Funciones
● Funciones Arrow (de Flecha) Javascript 2018
● Qué es una función de flecha - JavaScript Arrow Functions
● ¿Qué es un callback en JavaScript?
Actividades prácticas:
● Del archivo “Actividad Práctica - JavaScript Unidad 2”
están en condiciones de hacer los ejercicios: 1 a 18
No te olvides de dar el
presente
Recordá
●: Revisar la Cartelera de
Novedades.
● Hacer tus consultas en el Foro.
● Realizar los Ejercicios
obligatorios.
Muchas gracias por tu
atención. Nos vemos pronto