Neste vídeo, vamos discutir um conceito chamado scope em javascript.
O escopo refere-se ao contexto em que algum código está sendo executado.
Então, onde quer que tenhamos um código, digamos que está dentro de uma função chamada Say hello.
Esse código está sendo executado em um contexto específico.
E por isso pode ter algumas variáveis ​​e pode ter algumas propriedades e o escopo
está se referindo às variáveis ​​e propriedades visíveis nessa função.
E isso poderia ser diferente dentro de outra função ou se tivéssemos funções aninhadas dentro uma
da outra.
O que é algo que você pode fazer.
Podemos ter diferentes escopos e diferentes variáveis ​​são visíveis.
Então, isso terá sentido com alguns exemplos.
Este é definitivamente um tópico notoriamente difícil e complicado, mas vou tentar o meu melhor para
simplificá-lo para você.
Vamos começar com algo simples aqui.
Declare a função faça matemática e tudo o que fazemos matemática, faremos a declaração x igual a
40 e então será cancelar esse log X. correr fazer matemática e eles recebem 40 impressos.
Então, vamos
Então, dentro desta função neste escopo, chamaríamos x é igual a 40.
No entanto, fora da função, se eu tentar acessar o X o que você espera que aconteça.
Recebo um erro que me diz que x não está definido.
Então, o que isso nos mostra é que temos dois escopos diferentes dentro dessa função é um contexto.
X está definido aqui, mas fora disso e o
que chamaríamos de âmbito global, não estamos dentro de nenhuma função.
Quando escrevo X, recebo um erro porque não sabe o que é X.
Não é visível nesse escopo.
Então, se definimos x para x iguales, basta chamar isso de baixo.
Agora, se eu acessar o X quando estou fora desta função apenas no escopo global que recebo.
Olá.
Então, neste contexto, X é oi.
Mas se eu executar novamente matemática, o que você espera que aconteça desta vez.
Ainda está dentro deste contexto.
Então isso é realmente importante.
Quando criamos uma função, tem seu próprio escopo seu próprio conjunto de variáveis.
Isso não significa que, em vez de uma
função, não podemos acessar variáveis ​​definidas fora da função.
Então vou mostrar um exemplo.
Eu vou limpar
tudo aqui e desta vez vamos usar uma variável variável Y y é igual a noventa e nove.
Então, no escopo global eu posso acessar y.
mais matemática se quiser cancelar esse registro.
Agora, se eu declarar uma função Vamos chamar isso, faça
Por que você acha que terá um erro.
Ou isso funcionará bem.
Vamos tentar fazer mais matemática com parênteses.
E isso me dá 99.
Então, o que isso nos
mostra aqui é que, quando definimos algo fora de uma função, ainda temos acesso a ele dentro dessa função.
Pense nisso como um escopo infantil.
Isso é mais específico que está sendo perfurado
em um nível mais profundo e os escopos filho têm acesso a coisas para encontrar no escopo dos pais.
Então, se essa analogia o ajuda a seguir em frente e correr com ele.
Mas basicamente para resumir se definimos uma variável fora da função, podemos usá-la dentro da função.
Mas o contrário não é verdade.
Então, aqui está outro exemplo.
E se dentro de fazer mais matemática eu realmente mudei o valor de y.
Então eu digo porque é igual a 100.
E então eu imprimo y.
O que você acha que acontece neste caso.
Isso é uma tentativa.
Então vamos ver o que é agora.
São noventa e nove.
E se eu
fizer mais matemática, imprime 100.
Então, dentro da função y está em cem e imprimiu 100.
Mas sobre como fora da função.
O que acontece se eu apenas digitar Y.
Também é 100.
Então, o que aconteceu aqui é que eu declaro primeiro como '99 fora da função no escopo global.
E então dentro da função eu mudei y.
Então, isso não declarou uma nova variável
e no escopo que realmente encontrou o antigo que foi declarado aqui e mudou.
Então aqui.
Por que é cem e fora, porque é também 100.
Então, aqui é mais um exemplo, vamos limpar tudo isso.
Vamos fazer uma frase variável igual a alta e depois vamos fazer uma função fazer algo.
Eu sei que esses nomes não são extremamente criativos e, em vez de fazer algo, vou tentar mudar.
Eu vou fazer uma nova frase VAR igual ao adeus.
E então, na próxima linha, vou imprimi-lo.
Então, o que você espera que aconteça aqui?
algo que imprima adeus.
Se corremos, faça
Então o que isso nos diz é em vez de fazer algo para A's é igual a adeus.
Mas fora dela, o que é uma frase igual a que ainda está alto.
Então, adicionando muito aqui a frase var é igual adeus.
Isso nos torna uma nova variável ao invés de usar o definido aqui.
Isso faz uma nova variável de frase que existe somente neste escopo somente dentro de fazer algo é redigido adeus.
Então, dentro, é adeus lá fora, ficamos Olá, lá