Javascript: Escopo de variáveis e a palavra-chave var



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,

Escrito por: Felipe Plets

Wednesday, November 19th, 2008 Uncategorized

No comments yet.

Leave a comment

Spam protection by WP Captcha-Free

Ganha pão

 

Widgets

Pingar o BlogBlogs Adicionar aos Favoritos BlogBlogs

Sociedade Pletax