Executando verificação de segurança...
4

Na verdade o var nem sempre tem escopo global. Segundo a documentação, o escopo também pode ser uma função. Por exemplo, no código abaixo:

function f() {
    var x = 1;
    console.log('dentro da função:', x);
}

f();
console.log('fora da função:', x); // erro

Dentro da função ele imprime o valor de x. Mas o segundo console.log dá erro porque tenta acessar uma variável que não existe (pois x foi declarado dentro da função, portanto não existe fora dela).

Mais ainda, se eu fizer isso:

var x = 2;

function f() {
    var x = 1;
    console.log('dentro da função:', x);
}

f();
console.log('fora da função:', x);

O resultado será:

dentro da função: 1
fora da função: 2

Pois agora temos duas variáveis x, cada uma no seu próprio escopo (uma dentro da função, outra fora).


Por fim, vale lembrar que existem várias outras diferenças, listadas na documentação, e também tem vários exemplos aqui. Sugiro a leitura, pois as diferenças vão muito além do que foi apresentado (sei que a ideia foi só introduzir o assunto, mas acho legal complementar, pois ainda tem muito mais).

Carregando publicação patrocinada...
1

Valeu cara eu estou aprendendo ainda e utilizando o método do feynman e essa foi a forma que achei de aplica-la.