Este post faz parte de uma série de Posts que decidi criar para compartilhar o conhecimento em JavaScript e para tentar suprir a necessidade atual de bons materiais sobre o assunto no Brasil.
O escopo das variáveis em JavaScript foi escolhido como tema deste primeiro post tanto por ser um assunto de fácil entendimento quanto por ser um dos quesitos para a construção de códigos JavaScript de qualidade.
Introdução
Para quem não sabe o escopo de variáveis nada mais é do que o contexto em que as variáveis estão definidas.
Existem dois tipos básicos de variáveis em Javascript, as locais e as globais:
- As Locais são validas apenas dentro de uma determinada função.
- As Globais são validas em qualquer parte da aplicação, isso incluí outros arquivos de script que não o arquivo em que a variável foi definida.
A utilização da palavra-chave var
A utilização do identificador var na declaração de uma variável é imprescindível pois quando não for utilizado e a variável estiver sendo definida dentro de uma função, seu escopo automaticamente será global até o término da função, e isso pode ser perigoso, como veremos mais adiante.
Nos casos abaixo as variáveis serão globais e poderão ser acessadas e modificadas de qualquer parte da aplicação, sendo assim não existe diferença entre utilizar com ou sem a palavra-chave var porém é recomendada a utilização como boa prática.
Abaixo, segue a declaração de variáveis dentro de uma função, com e sem a palavra-chave var, a variável declarada utilizando var será valida apenas dentro da função em que está definida, a variável que não é precedida por var será valida dentro de todas as funções executadas antes do término desta função, e é neste caso que mora o perigo.
O problema mais comum é quando um desenvolvedor declara duas funções que executam iterações em laços for e as duas variáveis de controle tem o mesmo nome e foram declaradas sem a palavra-chave var, como vemos no exemplo abaixo:
Na prática
Abaixo tem um exemplo prático com todas as possibilidades de declaração de variáveis em JavaScript.
Conclusão
Utilize sempre a palavra-chave var.
A diferença entre eu ter dito isso no inicio ou dizer aqui é que agora você sabe o motivo de utilizar var precedendo o nome da sua variável.
Caso você tenha alguma sugestão de assunto que gostaria de ver aqui, pode postar como comentário no Blog, terei o prazer de auxiliar no que for possível.
Abraço e até a próxima,

