A cadeia de escopo e escopo do JavaScript são a parte mais dolorosa do meu aprendizado, porque passei muito tempo lendo muitos documentos técnicos, mas não conseguia entender. Eu sabia o que significava, mas ainda não sabia dizer o porquê.
Através dos meus extensos testes e leitura de documentos técnicos, resumi o seguinte entendimento. Embora não seja muito técnico, eu realmente posso entender.
1. JavaScript é dividido apenas em global e local, e não há vários modificadores para esses idiomas de segundo plano. Se você não usa VAR em uma função, é global. do seguinte modo:
<script type = "text/javascript"> varname = "c#"; // global window.name = "java"; // global varlanguage = function () {alert (nome); name = "javascript"; // global var name = "js"; // alerta local (nome); } () alert (nome); </script>O código acima representa globalmente todos para a mesma variável, e a definição a seguir substituirá o acima. Em relação aos três alertas, a saber, sub -encontrar, JS e JavaScript. Este é o escopo que desempenha um papel.
2. A corrente do escopo começa no nível 0 e é organizada para baixo em sequência. Os chamados chamados para baixo em sequência referem-se ao arranjo de crianças. Ao procurar variáveis, procure -as primeiro no mesmo nível e depois procure o nível dos pais.
No exemplo acima,
A primeira coisa que aparece é o primeiro alerta no método do idioma. Se a janela global for 0, no exemplo var name = "js" é 1. O primeiro alerta será encontrado em 1. Se não puder ser encontrado, procure -o em 0. Verificou -se que existe um nome var = "js" no mesmo nível, mas ainda não atribuiu um valor, então o apartamento é submetido
O segundo pop-up é o segundo alerta no método do idioma, e ele o procurará em 1, ou seja, o interior do método. Ele encontrou o nome e atribuiu JS, então o pop-up é JS
O terceiro pop-up é o alerta na parte inferior. Desde que o nome global foi reatribuído dentro do método, o JavaScript aparece.
Em seguida, adicione o próximo link, no topo de um método no idioma, como segue:
<scripttype = "text/javascript"> varname = "javascript"; // global window.name = "javascript"; // global varlanguage = function () {alert (nome); name = "javascript"; // global varname = "js"; // alerta local (nome); var lovelguage = function () {alert (nome); } (); } () alert (nome); </sCript>Neste momento, o alerta no Lovelguage aparece com JS porque encontrará o nome no nível do idioma, que é o nome no idioma. . .
O exposto acima é todo o conteúdo do escopo JavaScript e cadeia de escopo (leitura obrigatória para iniciantes) trazida a você pelo editor. Espero que todos apoiem mais os passos da casa.