Agora que já falamos sobre o que é uma variável e o que são funções, é o momento de fazermos um aprofundamento. Em JavaScript, assim como em muitas outras linguagens, podemos ter variáveis locais e globais.

As variáveis locais somente podem ser acessadas de dentro da função a qual pertencem, enquanto as globais podem ser utilizadas por todas as funções da aplicação. Diferenciá-las é muito simples. Uma variável é considerada global se ela não estiver contida em nenhuma função. Dessa forma todas as funções poderão usá-la. Por outro lado, uma variável é considerada local se tiver sido criada dentro de uma função.

Resumindo: se uma variável não tiver vínculo com nenhuma função, pode ser usada por todas!

Na prática funciona da seguinte forma:

Variáveis - Javascript

É simples! Mas talvez você esteja se perguntando por que não criar todas as variáveis globais, já que dessa forma elas ficariam acessíveis a todas as funções, certo? É uma pergunta comum.

Bem, variáveis globais são uma verdadeira faca de dois gumes. O fato de poderem ser acessadas por qualquer função é algo perigoso de se administrar, principalmente em códigos grandes. Imagine uma variável global que é acessada por 15 funções ao longo de um código, todas efetuando alterações no valor da mesma a todo instante. Ficaria extremamente complicado saber seu valor atual no momento de efetuar uma verificação de código. E ainda existe outro diferencial: as variáveis globais mantém o seu valor durante toda a execução da aplicação, fato que não acontece com as locais. Uma variável local somente existe durante a execução da função. Quando esta se encerra, a variável é destruída da memória. Considerando isso, armazenar dados como senhas em uma variável global pode não ser interessante, já que isso ficaria na memória tempo demais. Sendo assim, use as variáveis globais somente se realmente precisar persistir seu valor ou então passá-lo para outra função. Do contrário, ou seja, se um determinado valor só for útil dentro da função, use a local.

Curiosidade:

E se criarmos uma variável global chamada idade, mas dentro de uma função criarmos uma variável local também chamada idade. Então atribuímos valores diferentes a elas e, de dentro dessa função, mandamos exibir o valor da variável idade. Qual dos valores será exibido, o da variável local ou da global? Vamos testar:

Testando este código no navegador, teremos:

25! O interpretador sempre dará prioridade para a variável local, por isso no nosso exemplo o valor exibido foi de 25.


HARDWARE

Entendendo o seu computador

O que há dentro do meu computador?

Existem alguns componentes fundamentais presentes dentro do seu computador e é muito importante que você conheça um pouco sobre eles, seja para argumentar com algum vendedor durante a compra de um novo PC ou para identificar alguma atitude desleal de algum técnico que esteja te passando um orçamento para reparo. Na seção Raio-X aqui do Contém Bits você pode conhecer e entender mais detalhadamente sobre cada componente, ou também pode clicar abaixo no componente que deseja, para conhecê-lo melhor.

  • Gabinetes

  • Placas-Mãe

  • Processadores

  • Memória

  • Fontes

  • Drives Ópticos

  • Discos Rígidos

  • SSD

  • Placas de Som

  • Placas de Vídeo

Você Sabia?

O primeiro jogo a fazer uso de uma Inteligência Artificial foi o Mouse in the Maze, criado em 1955, na União Soviética. Você pode saber mais sobre ele clicando aqui.


O ábaco é o dispositivo de cálculo mais antigo construído e conhecido pelo homem. Suas formas mais primitivas datam de 400 a.C. e eles foram encontrados na China e na Babilônia. Para saber mais sobre a história dos computadores, clique aqui.


A primeira versão do clássico Mega Man, para Nintendo 8 bits, tem seu recorde de pontos estabelecido em 03/11/2006, por David Archey, que cravou 2.396.700 pontos, terminando o jogo.


A empresa Universal City Studios, detentora dos direitos autorais do King Kong, processou a Nintendo logo após o lançamento de Donkey Kong, pois segundo ela, o game violava os seus direitos. Ela venceu o processo e recebeu da Nintendo uma indenização de quase 2 milhões de dólares.