Cierre y este punto

Cierre

Los cierres son funciones que hacen referencia a variables en el alcance de otra función, generalmente implementadas en funciones anidadas.

Beneficios: las variables dentro de las funciones se pueden leer, las variables siempre se pueden mantener en la memoria, los métodos privados y las propiedades privadas de los objetos se pueden encapsular

Desventajas: comparación del consumo de memoria, el uso inadecuado provocará problemas de desbordamiento de memoria

¿Sobre el punto de esto en el cierre?

Si se invoca como método de un objeto, esto es igual al objeto.

Una función anónima no vincula un objeto, lo que significa que apuntará a una ventana a menos que no esté definida en modo estricto.

ejemplo:

Window.test=”La ventana”;

Sea objeto = {

Prueba: 'Mi objeto',

obtenerFuncPrueba(){

función de retorno() {

    devolver esta prueba;

}

}

}

Console.log(object.getTestFunc()());

// 'La ventana'

Cada función crea automáticamente dos variables especiales cuando se llama: this y arguments. Nunca será posible que la función interna acceda directamente a estas dos variables de la función externa. Sin embargo, si almacena esto en otra variable a la que se pueda acceder mediante el cierre, funcionará.

ejemplo:

Window.test=”La ventana”;

dejar objeto = {

prueba: 'Mi objeto',

obtenerFuncPrueba(){

deja eso = esto;

función de retorno() {

    devolver esa.prueba;

};

}

};

Console.log(object.getTestFunc()());

// 'Mi objeto'

Supongo que te gusta

Origin blog.csdn.net/Yang_Ming_Lei/article/details/129897861
Recomendado
Clasificación