Este punto en JS siempre ha sido un dolor de cabeza. Aprendí que estaba mareado al principio. Revisé mucha información y la vi demasiado. Después de pelear con él por tantas rondas, finalmente lo obtuve a 70 u 80 puntos. De hecho, a menudo lo complicamos. Ahora que todos entiendan este punto fácilmente. Lo dividiré en las siguientes situaciones.
Este puntero:
1. Esto se refiere al objeto que llama al método actual (función), es decir, a quién se llama la función, esto se refiere a quién.
Veamos dos castañas:
obtn.OnClick = function () {alerta (this); // OBTN} OBTN [i] .Onclick = fn1; función fn1 () {alerta (this); // OBTN}Es fácil ver que la función se llama cuando se hace clic en el objeto del botón, por lo que esto se refiere a OBTN. Estos dos casos son equivalentes, pero la forma de escribir la función se llama de manera diferente.
2 Cuando las funciones de anidación en una función, esto en la función anidada se refiere a la ventana. No entres demasiado profundamente, porque esta es una característica de JS.
Veamos una castaña:
obtn.OnClick = function () {alerta (this); // OBTN (recuerde OBTN aquí) fn1 (); } función fn1 () {alerta (this); // ventana }3. Para la situación anterior, ¿qué debemos hacer cuando necesitamos este botón puntual en FN1? Hay dos métodos en este momento.
1) Pase esto como un parámetro a la función
2) Guarde esto y asignarlo a otra variable
Veamos dos castañas:
obtn.OnClick = function () {alerta (this); // OBTN FN1 (esto); 1 Pase lo anterior esto como un parámetro a la función} función fn1 (obj) {alerta (obj); // OBTN} var that = null; oBTN [i] .Onclick = function () {alerta (this); // obtn that = this; // Guardar esto arriba en otra variable fn1 ();} function fn1 () {alert (que); // señala OBTN}Ok, este es el más básico, y muchos complejos también evolucionaron de los básicos. ¿Es fácil dominar?
Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.