Javascript 3
Javascript 3
Python
Codo a Codo 4.0
Javascript
Parte 3
Funciones
Las funciones nos permiten agrupar líneas de código en tareas con un nombre
(subprograma), para que, posteriormente, podamos hacer referencia a ese nombre para
realizar todo lo que se agrupe en dicha tarea. Para usar funciones hay que hacer 2 cosas:
• Declarar la función: crear la función es darle un nombre, definir los datos de entrada
(opcional) y decirle las tareas (instrucciones) que realizará y que valor retornará (opcional).
• Ejecutar la función: «Llamar» (Invocar) a la función para que realice las tareas de su
contenido. Se puede invocar la función la cantidad de veces necesaria en el programa
principal.
En el siguiente ejemplo vemos la declaración y la ejecución:
Primer paso:
// Declaración de la función "saludar" JS
Declarar la función
function saludar() {
console.log("Hola, soy una función"); // Contenido de la función
}
// Declaración JS
function saludarDos(miNombre){ En este ejemplo la función muestra un texto
console.log("Hola " + miNombre); concatenado a un valor pasado por parámetro.
}
Ese valor podrá ser asociado a una
//Ejecución JS variable o ingresado por el usuario.
saludarDos("Juan Pablo"); //Parámetro fijo No necesariamente tiene que tener el
var nombre= prompt("Ingrese su nombre"); //Pedimos valores mismo nombre la variable con la que creé
saludarDos(nombre); //Parámetro variable la función (miNombre) que la variable que
le paso como parámetro (nombre).
Ver ejemplo funciones_2 (.html y .js)
Funciones | Parámetros múltiples
Las funciones también pueden recibir más de un parámetro. En este caso debemos tener en
cuenta que hay que respetar el orden en que pasamos los valores y en el que los usamos al
llamarla.
// Declaración JS Esta función tiene dos
function tablaMultiplicar(tabla, hasta) { parámetros:
for (var i = 1; i <= hasta; i++) • La tabla en sí.
console.log(tabla + " x " + i + " = ", tabla * i); • Hasta qué valor
} calculará.
// Ejecución JS
tablaMultiplicar(1, 10); // Tabla del 1, calcula desde el 1 hasta el 10
tablaMultiplicar(5, 10); // Tabla del 5, calcula desde el 1 hasta el 10
// Ejecución JS
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
Sabemos entonces que una función devolverá un valor cuando utilicemos la palabra clave
return. Veamos dos funciones que realizan lo mismo, pero una retorna valores y otra no:
function sumar(num1, num2){ JS Esta función devuelve “La suma es …”, pero no está
var suma = num1 + num2; retornando valores, no devuelve un valor, hace lo
console.log("La suma es " + suma); mismo que una función que imprime por consola.
}
sumar(2,5);
// 2. Quita los llaves{} del cuerpo y la palabra "return" — el return está implícito.
(a) => a + 100;
Este tipo de variables son de alcance local, porque solamente valen en el ámbito de la
función, y no en el ámbito a nivel de programa.
Argumentos de función
Los argumentos de la función (parámetros) funcionan como variables locales dentro de las
funciones.
Scope (alcance)
Variables globales de JavaScript
Una variable declarada fuera de una función se convierte en global. Esto quiere decir que
tiene alcance global: todos los scripts y funciones de una página web pueden acceder a ella.
Como vimos en el tema “variables”, en JavaScript, los objetos y las funciones también son
variables. El alcance determina la accesibilidad de variables, objetos y funciones de diferentes
partes del código.
Scope (alcance)
Automáticamente global
Si asignamos un valor a una variable que no ha sido declarada, automáticamente se
convertirá en una variable global.
Este ejemplo de código declarará una variable global carName, incluso si el valor se asigna
dentro de una función.
myFunction(); JS
// aquí puede se puede usar carName
function myFunction() {
carName = "Volvo"; // variable no declarada
}
En este caso podremos acceder al contenido de esa variable tanto desde fuera como desde
adentro de la función, por ser automáticamente global.
Ver tercer ejemplo de scope (.html y .js)
La vida útil de una variable comienza cuando se declara. Las variables locales se eliminan
cuando se completa la función.
let y var
La instrucción let declara una variable de alcance local con ámbito de bloque, la cual,
opcionalmente, puede ser inicializada con algún valor.
let te permite declarar variables limitando su alcance (scope) al bloque, declaración, o
expresión donde se está usando, a diferencia de la palabra reservada var la cual define una
variable global o local en una función sin importar el ámbito del bloque.
//let vs var JS
var a = 5;
var b = 10;
if (a === 5) {
let a = 4; // El alcance es dentro del bloque if
var b = 15; // El alcance es global, sobreescribe a 10
Fuente:
console.log(a); // 4, por alcance a nivel de bloque https://developer.mozilla.org/e
console.log(b); // 1, por alcance global s/docs/Web/JavaScript/Referen
} ce/Statements/let
function procesarEntradaUsuario(callback) {
var nombre = prompt('Por favor ingresa tu nombre.');
callback(nombre);
}
procesarEntradaUsuario(saludar);
El ejemplo anterior es una callback sincrónica, ya que se ejecuta inmediatamente.