Conceptos Flashcards
¿Qué son las funciones closure?
Escribir ejemplo.
Son funciones que retornan otras funciones, las cuales pueden acceder al contexto de su función padre *y obtener información de ahí porque el entorno léxico del contexto del padre no se destruye, ya que la función hija la necesita. * (revisar significado de entorno léxico)
var contenedor = function ( ) { let caja = [ ]; return function(item) { caja.push(item); return caja; }; };
¿Cuáles son las dos condiciones para tener una función closure?
Que la función retorne otra función y que la función hija requiera una variable de su padre.
¿Cómo funcionan los ‘closures’ en JavaScript? ¿Cuándo se utilizan?
El closure es una variable declarada localmente y que está relacionada con una función que sigue en memoria cuando la función ha regresado (UniPython)
¿A qué se refiere this?
¿Qué hace el método bind y qué parámetros recibe?
El método bind es un método de función que sirve para vincular la función dándole el contexto donde se encuentra la variable que necesita (señala a dónde mira el this.
Los parámetros que utiliza son this (siempre en primer lugar) y después los alrgumentos que nosotros querramos y que la función necesite).
var saludarPersona = saludar.bind(persona, "Holap");
¿Cuál es la diferencia entre el método bind y call?
Que aplicando el método call no tengo que guardarlo como variable, se ejecuta instantáneamente.
Ej:
~~~
saludar.call(persona);
~~~
¿Qué es el entorno léxico?
Es un OBJETO que tienen los contextos de ejecución donde se almacenan los nombres de las variables que existen dentro de una función y los valores actuales que tienen.
Clave (key) son las variables
Valor (value) son los valores actuales que tienen las variables.
¿Qué es el hoisting?
¿Qué pasa cuando se ejecuta uan función en javascript?
en cuanto a contexto y a entorno léxico
Se crea un nuevo contexto de ejecución con un nuevo entorno léxico
¿Qué es una variable global?
Una variable que está definida en el contexto global y se puede usar en cualquier parte del programa. Se puede modificar en cualquier parte del programa.
¿Qué son las variables locales?
Variables que sólo pueden ser utilizadas dentro de su ámbito en el que fueron declaradas.
¿Cuál variable tiene mayor prioridad?
La variable declarada en un contexto local sobre una que fue declarada en un contexto global.
¿Qué valor retorna por defecto una función?
Undefined
¿En qué orden se resuelven las asignaciones en Javascript?
Primero se resuelve lo que está a la derecha del símbolo de asignación (=) antes de ser asignado a la variable que está a la izquierda (es decir de derecha a izquierda resuelve JS)
¿Cuál es la diferencia entre while y do while?
En el do while se va a ejecutar al menos una vez la sentencia ya que la condición de while viene hasta después.
do { console.log(x); \++; } while (x<10);
```
while ( x < 10) {
console.log(x);
x++;
}
~~~