Esta é uma palavra -chave no JavaScript. O valor disso mudará dependendo do uso da função. Mas sempre há um princípio, ou seja, isso se refere ao objeto que chama a função.
Na linguagem tradicional do OO, esse ponteiro é declarado em uma classe e representa o próprio objeto. No JavaScript, isso representa o contexto atual, ou seja, a referência do chamador.
******* Isso sempre aponta para o proprietário do (objeto de função)
Isso e objetos globais:
var a = 1; function foo () {var b = 2; console.log (this.a+b); // 3} foo (); // O proprietário da função Foo é a janela, e isso se refere ao objeto de janela na função global (************, a menos que o novo, chame, os métodos de aplicação sejam usados para alterar a relação de referência disso)Isso e objeto:
var pessoa = {nome: 'Theo wong', gênero: 'masculino', getName: function () {console.log (this.name); // O proprietário da função getName é um objeto de pessoa}}; pessoa.getName ();Isso em funções aninhadas
var myObject = {func1: function () {console.log (this); // myObject var func2 = function () {console.log (this); // janela var func3 = function () {console.log (this); //janela }(); } (); }}; myObject.func1 (); // Em funções aninhadas, como o contexto de execução da função aninhada é a janela, isso se refere a um objeto de janela. De fato, este é um bug no ECMA-262-3, que foi corrigido na última ECMA-262-5Isso no processamento de eventos:
var showValue = function () {alert (this.value); };1. <input id = "test" type = "text" />
Evento de ligação via dom.onclick, document.getElementById ('teste'). OnClick = showValue;
Neste momento, o ShowValue é chamado de método OnClick de DOM, então isso deve se referir ao objeto DOM, não ao objeto da janela mais
2. Escreva na tag html, <input id = "test" type = "text" onclick = "showValue ();" />
Ao clicar no DOM, não podemos obter isso correto. Isso neste momento se refere ao objeto da janela. Como não há valor definido no objeto da janela, esse valor não pode ser obtido.
*** Nesse momento, não está atribuindo a função ShowValue ao OnClick do objeto DOM, mas uma referência. Neste momento, o proprietário da função () é janela
document.getElementById ('teste'). OnClick = function () {showValue ();}Evento de encadernação ouvindo via addEventListener/anexevent
<input type = "text" id = "test" /> <script type = "text /javascript"> var dom = document.getElementById ('teste'); id = 'janela'; function test () {alert (this.id); } dom.adDeventListener? Dom.addeventListener ('clique', teste, false): dom.attachevent ('OnClick', teste); // addEventListener teste // Janela AnextEvent </sCript> // essa maneira de vincular o monitoramento de eventos, Anexevent Este é um objeto de janela e addEventListener é um objeto DOMIsso e construto:
função obj (nome, idade) {this.name = name; this.age = idade; this.fun = function () {alert (this.name); }; } var obj = new Obj ('xht', 18); // Isso se refere a esse novo objeto, novo altera a relação de referência deste obj.fun (); // xhtIsso e ligue
// Defina uma pessoa com o nome Jack var de Jack = {Nome: "Jack", Idade: 26} // Defina outra pessoa com o nome Abruzzi var abruzzi = {Nome: "Abruzzi", idade: 26} // Defina uma função de objeto de função global alertName () {return this.name; } // Defina o contexto do alertName como Jack, e este neste momento é Jack Alert (alertName.call (jack)); // Defina o contexto do alertname como Abruzzi, e isso neste momento é ABRUZZI ALERT (alertName.call (abruzzi));Citações são um tópico relativamente interessante. Ao contrário de outros idiomas, as referências no JavaScript sempre apontam para o objeto final, não a própria referência.
var obj = {}; // objeto vazio var ref = obj; // referência obj.name = "objecta"; alerta (nome da ref.); // REF então adicione o atributo de nome Obj = ["One", "Two", "Three"]; // obj aponta para outro objeto (objeto de matriz) alerta (ref.name); // ref também aponta para o alerta de objeto original (obj.length); // 3 alerta (ref.length);O OBJ é apenas uma referência a um objeto anônimo, então o REF não aponta para isso.
A referência só pode apontar para um objeto específico. Quando o objeto específico muda, a referência ou referência ao objeto original, em vez do objeto alterado.
O exposto acima são as informações sobre este ponteiro e referência no JavaScript apresentado a você pelo editor. Espero que seja útil para você. Se você tiver alguma dúvida, deixe -me uma mensagem e o editor responderá a você a tempo. Muito obrigado pelo seu apoio ao site wulin.com!