Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 9340|Resposta: 0

[JavaScript] Esta explicação detalhada do Javascript

[Copiar link]
Publicado em 28/09/2020 19:04:30 | | | |
Primeiramente, deve-se dizer que o ponto disso não pode ser determinado quando a função é definida, somente quando a função é executada pode ser determinado para quem isso aponta, de fato, o ponto final disso é o objeto que a chama (há alguns problemas com esta frase, e será explicado mais adiante por que há um problema, embora a maioria dos artigos na Internet diga isso, embora em muitos casos não haja problema com essa compreensão, mas na verdade essa compreensão é imprecisa, Então, quando você entende isso, vai sentir que não compreende), então vou explorar essa questão em profundidade.

O teste é o seguinte:




Isso tem valores diferentes para diferentes propósitos de função. Em geral, este é o objeto de ambiente no qual a função se executa. O uso disso é discutido em detalhes em quatro situações.

Caso 1: Chamadas puras de função

Este é o uso mais comum de uma função, e é uma chamada global, então representa um objeto global. Veja o código abaixo, ele roda com um resultado de 1.


Caso 2: Chamar como método objeto

A função também pode ser chamada de método de um objeto, caso em que se refere ao objeto pai.


Caso 3 Chamada como construtor

O chamado construtor é que, por meio dessa função, um novo objeto pode ser gerado. Neste ponto, isso se refere a esse novo objeto.


O resultado da sequência é 1. Para mostrar que este não é um objeto global neste momento, fazemos algumas alterações no código:



O resultado da execução é 2, indicando que o valor da variável global x não mudou em nada.

Caso 4 aplicar chamada

apply() é um método de uma função que altera o objeto que chama a função. Seu primeiro parâmetro representa o objeto alterado que chama a função. Portanto, isso se refere a este primeiro parâmetro.


Quando o parâmetro apply() está vazio, o objeto global é chamado por padrão. Portanto, o resultado da execução é 0, provando que isso se refere ao objeto global.

Se você mudar a última linha de código para


O resultado contínuo torna-se 1, provando que isso representa o objeto obj.

(Fim)


Referência:

O login do hiperlink está visível.
O login do hiperlink está visível.





Anterior:[Combate real] ASP.NET Core é baseado na venda flash de bloqueio distribuída da Redis
Próximo:A diferença entre um patch de descanso e um pedido de put
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com