Uno, casos de uso para comprender los cierres
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<div class="show">0</div>
<button>增加</button>
<script>
let show = document.querySelector('.show')
let btn = document.querySelector('button')
function func() {
let n = 0
btn.onclick = function () {
n ++
show.innerHTML = n
}
}
f()
</script>
</body>
</html>
Análisis de código: en primer lugar, debe comprender el concepto de alcance. Si no lo comprende, consulte aquí -> alcance . Después de comprender, examinaremos el código y escribiremos la cadena de alcance (el orden de acceso al alcance es de adentro hacia afuera, por lo que si hay uno en el alcance, use el suyo):
Cuando hacemos clic en el botón, el código comienza a ejecutarse, yn realizará la operación de ++. En este momento, ya que no hay definición de n en la función anónima, luego subiremos y buscaremos n. En la función func, la función anónima es lo que llamamos: cierre , es decir, una función definida dentro de una función. Esta función puede tener acceso a variables dentro de otra función
Función: los
cierres se pueden utilizar en muchos lugares. Tiene dos usos principales, uno es leer las variables dentro de la función mencionada anteriormente y el otro es mantener los valores de estas variables en la memoria.
Desventajas:
Dado que el cierre tiene el alcance de su función, ocupa más memoria que otras funciones, perdiendo memoria