Fin de Js (preguntas de la entrevista)
2
La función anónima se asigna a f como valor de retorno de diversión.
Esto es equivalente a f = function () {var n = 0...},
Y la función anónima hace referencia internamente a la variable num en diversión, por lo que la variable num no puede ser destruido de.
La variable n se crea nuevamente cada vez que se llama, por lo que cada vez que se ejecuta F, su propia variable se destruirá junto con ella misma.
Al final, solo queda el número solitario, por lo que hay un problema de consumo de memoria.
3 Temporizador y apagado
Finalmente, resuma lo cerrado. Pros y contras.
Beneficios
(1) Proteger la seguridad de las variables en funciones, implementar encapsulación y evitar conflictos de nombres cuando las variables fluyen hacia otros entornos.
(2) Mantener una variable en la memoria se puede utilizar como caché (pero el uso excesivo también es una desventaja y consume memoria)
③La función de autoejecución anónima puede reducir el consumo de memoria .
Desventajas
(1) Se ha reflejado uno de los puntos anteriores, es decir, las variables privadas a las que se hace referencia no se pueden destruir, lo que aumenta el consumo de memoria y provoca pérdidas de memoria. La solución es especificar manualmente el valor nulo; agregarlo a la variable después de su uso;
En segundo lugar, debido a que los cierres implican acceso entre dominios,