Esse apontamento no JS sempre foi uma dor de cabeça. Aprendi que estava tonto no começo. Eu verifiquei muitas informações e vi demais. Depois de lutar com ele por tantas rodadas, finalmente cheguei a 70 ou 80 pontos. Na verdade, muitas vezes complicamos isso. Agora, todos entendam isso apontando facilmente. Vou dividi -lo nas seguintes situações.
Este ponteiro:
1. Isso se refere ao objeto que chama o método atual (função), ou seja, quem a função é chamada, isso se refere a quem.
Vamos ver duas castanhas:
obtn.OnClick = function () {alert (this); // obtn} obtn [i] .OnClick = fn1; função fn1 () {alert (this); // obtn}É fácil ver que a função é chamada quando o objeto de botão é clicado, então isso se refere ao OBTN. Esses dois casos são equivalentes, mas a maneira de escrever a função é chamada de maneira diferente.
2 Quando o ninho funciona em uma função, isso na função aninhada se refere à janela. Não entre nisso muito profundamente, porque esse é um recurso do JS.
Vamos ver uma castanha:
obtn.OnClick = function () {alert (this); // obtn (lembre -se de obtn aqui) fn1 (); } função fn1 () {alert (this); // janela }3. Para a situação acima, o que devemos fazer quando precisarmos deste botão apontador no FN1? Existem dois métodos no momento.
1) Passe isso como um parâmetro para a função
2) Salve isso e atribua -o a outra variável
Vamos ver duas castanhas:
obtn.OnClick = function () {alert (this); // obtn fn1 (this); 1 Passe o acima como um parâmetro para a função} função fn1 (obj) {alert (obj); // obtn} var que = null; obtn [i] .OnClick = function () {alert (this); // obtn que = this; // salve isso acima em outra variável fn1 ();} função fn1 () {alert (that); // apontar para obtn}OK, este é o mais básico, e muitos complexos também evoluíram dos básicos. É fácil dominar?
O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.