Existem dois tipos de variáveis no JavaScript: variáveis locais e variáveis globais. Obviamente, nosso artigo é ajudá -lo a distinguir essas duas variáveis.
Primeiro, as variáveis locais se referem a funções que só podem ser chamadas dentro de uma função declarada por essa variável. Uma variável que pode ser chamada em todo o código como uma variável global. Claro, definitivamente não está claro para entender literalmente. Vou apresentá -lo em detalhes abaixo:
Como todos sabemos, as variáveis precisam ser declaradas com a palavra -chave VAR. No entanto, as variáveis também podem ser usadas implicitamente no JavaScript, o que significa que são usadas diretamente sem declaração. Além disso, tenha cuidado para que o JavaScript sempre use variáveis declaradas implicitamente como variáveis globais.
Por exemplo:
A cópia do código é a seguinte:
function myName () {
i = 'yuanjianhang';
}
o meu nome();
function SayName () {
alerta (i);
}
SayName ();
O resultado da saída é: yuanjianhang
Isso mostra que a variável I é uma variável global. Se o código acima for alterado para o seguinte:
A cópia do código é a seguinte:
function myName () {
var i = 'yuanjianhang';
}
o meu nome();
function SayName () {
alerta (i);
}
SayName ();
Nesse ponto, o navegador não terá resultado de saída, porque eu é definido na função MyName, por isso é apenas uma variável local do MyName e não pode ser chamado externamente.
Agora olhe para o código a seguir:
A cópia do código é a seguinte:
function myName () {
i = 'yuanjianhang';
}
o meu nome();
function SayName () {
alerta (i);
}
SayName ();
Agora, vamos fazer algumas alterações e remover myname (); E o código é o seguinte:
A cópia do código é a seguinte:
function myName () {
i = 'yuanjianhang';
}
function SayName () {
alerta (i);
}
SayName ();
Neste momento, o navegador não reagirá muito. Porque, embora eu seja uma variável global, a função MyName () não é chamada, por isso é equivalente a que, embora eu seja declarado, ela não atribui nenhum valor a I, portanto não há saída.
Da mesma forma, se o exemplo acima for alterado para:
A cópia do código é a seguinte:
function myName () {
i = 'yuanjianhang';
}
function SayName () {
alerta (i);
}
SayName ();
o meu nome();
Nesse caso, nenhum resultado será emitido. Quando o código JavaScript é executado, o valor da variável serei verificado quando a função SayName () for chamada. No momento, a função MyName ainda não foi executada, o que significa que ainda não fui atribuído, portanto, nenhum resultado será emitido.
Para facilitar o melhor entendimento de todos, aqui está outro exemplo:
A cópia do código é a seguinte:
var i = 'yuanjianhang';
function mylovename () {
i = 'guanxi';
}
mylovename ();
function myName () {
alerta (i);
}
o meu nome();
Qual é o resultado desta vez?
A resposta é guanxi
Primeiro de tudo, o valor original de I é Yuanjianhang, mas depois de chamar a função mylovename (), o valor de I é alterado para guanxi, então o resultado da saída final é guanxi.
Se você alterar o código para:
A cópia do código é a seguinte:
var i = 'yuanjianhang';
function mylovename () {
var i = 'guanxi';
}
mylovename ();
function myName () {
alerta (i);
}
o meu nome();
O resultado neste momento é Yuanjianhang, porque os dois i no código são diferentes, um é global e o outro é local. Também pode ser entendido dessa maneira. Embora os nomes dos dois eu sejam iguais, a essência desses dois I é diferente, como se houvesse duas pessoas com o mesmo nome. Embora os nomes sejam iguais, eles não são a mesma pessoa.
Se você transformar o código nisso:
A cópia do código é a seguinte:
var i = 'yuanjianhang';
function mylovename () {
i = 'guanxi';
}
function myName () {
alerta (i);
}
o meu nome();
mylovename ();
Acredito que todos possam descobrir o resultado por si mesmos, e o resultado é Yuanjianhang.
Como as variáveis globais podem ser chamadas dentro da função, e a seguinte situação:
A cópia do código é a seguinte:
var i = 'yuanjianhang';
function mylovename () {
i = 'guanxi';
alerta (i);
}
mylovename ();
Qual valor é a variável no momento?
Vamos analisar:
Primeiro, a variável global I é designada como: Yuanjianhang.
A função seguinte mylovename () é chamada e a variável global I é transferida para um novo valor: guanxi
Portanto, o resultado é definitivamente: Guanxi.
E se tomarmos alerta com antecedência, assim:
A cópia do código é a seguinte:
var i = 'yuanjianhang';
function mylovename () {
alerta (i);
i = 'guanxi';
}
mylovename ();
Qual é o resultado neste momento?
Os resultados verificados são: indefinido
E se o código for assim:
A cópia do código é a seguinte:
var i = 'yuanjianhang';
function mylovename () {
alerta (i);
}
mylovename ();
O resultado neste momento é: yuanjianhang
Por que a situação indefinida acima acontece? Porque a ordem de execução do código é de cima para baixo e não há definição de i antes de produzir i. Portanto, a partir disso, podemos ver que, ao usar o código, a declaração de variáveis deve ser colocada na frente do código para evitar problemas semelhantes!
De forma similar:
A cópia do código é a seguinte:
var i = 'yuanjianhang';
function mylovename () {
alerta (i);
var i = 'guanxi';
}
mylovename ();
Nesse caso, também será produzido: indefinido
Ok, eu só tenho tantas apresentações sobre variáveis, e acredito que alguém possa entender isso. Não importa como o código seja copiado, seu núcleo não mudará.
O acima é tudo sobre este artigo. Você já teve um entendimento mais profundo da diferença entre variáveis locais e variáveis globais no JavaScript? Desejo a você um feliz ano novo e um feliz estudo.