Cierre
-
Que es un cierre
Las funciones son funciones anidadas, y la función interna puede acceder a las variables de la función externa, se llama cierre
(function(){
var a = 1;
function fn() {
var b = 2;
var sum = b + a;
console.log(sum);
}
fn();
})()
-La función fn llama a la variable a en la función externa
-
La función de los
cierres, la función más grande de los cierres es ocultar variables. Una característica importante de los cierres es que las funciones internas siempre pueden acceder a los parámetros y variables declarados en la función externa en la que se encuentran, incluso después de que se devuelve la función externa. basado en esto La característica javaScript puede darse cuenta de la existencia de variables privadas -
Las ventajas de los cierres
pueden aislar el alcance y no causarán contaminación global de variables. -
Desventajas: los
cierres permanecen en la memoria durante mucho tiempo, lo que provoca pérdidas de memoria.
Solución: restablezca las variables de cierre expuestas a nulo
Cadena de prototipos
Cuando llamamos a un método o propiedad de un objeto, primero encontraremos el método en la instancia del objeto, si hay uno, lo llamaremos, si no, usaremos el proto (prototipo) del objeto para buscar, si encontrarlo ejecutaremos la llamada. Buscará sobre el prototipo del objeto creado, es decir, sobre el prototipo del objeto. Si lo encuentra, se ejecutará la llamada. En caso contrario, seguirá buscando en prototipo. .proto. Si no es así, vaya a prototype.proto.prototype para buscar hasta encontrar la consulta. null es la parte superior de la cadena de prototipos
- proto:
prototipo explícito - Prototipo:
prototipo implícito Cuando un objeto se utiliza como función constructora, se utilizará como proto de la función recién construida