Variáveis Javascript
Vemos o que é uma variável, para que serve e como utilizá-las
em Javascript.
Uma variável é um espaço em memória onde se armazena um dado, um espaço onde podemos salvar qualquer tipo de informação que necessitemos para realizar as ações de nossos programas. Por exemplo, se nosso programa realiza somas, será muito normal guardarmos em variáveis as distintas parcelas que participam na operação e o resultado da soma. O efeito seria algo parecido a isto.
parcela1 = 23
parcela2 = 33
soma = parcela1 + parcela2
Neste exemplo temos três variáveis, parcela1, parcela2 e soma, onde guardamos o resultado. Vemos que seu uso para nós é como se tivéssemos um apartado onde salvar um dado e que se pode acessa-los colocando somente seu nome.
Os nomes das variáveis devem ser construídos com caracteres alfanuméricos e o caractere sublinhado (_). A parte disso, há uma série de regras adicionais para construir nomes para variáveis. A mais importante é que tem de começar por um caractere alfabético ou sublinhado. Não podemos utilizar caracteres raros como o signo +, um espaço ou um $. Nomes admitidos para as variáveis poderiam ser:
Idade
PaísDeNascimento
_nome
Também há que evitar utilizar nomes reservados como variáveis, por exemplo não poderemos chamar a nossa variável palavras como return ou for, que já veremos que são utilizadas para estruturas da própria linguagem. Vejamos agora alguns nomes de variáveis que não está permitido utilizar
12meses
seu nome
return
pe%pe
Declaração de variáveis
Declarar variáveis consiste em definir e de passo informar ao sistema de que se vai utilizar uma variável. É um costume habitual nas linguagens de programação definir as variáveis que serão utilizadas nos programas e para isso, seguem-se algumas regras restritas. Porém, javascript ultrapassa muitas regras por ser uma linguagem mais livre na hora de programar e um dos casos no qual outorga um pouco de liberdade é na hora de declarar as variáveis, já que não estamos obrigados a fazê-lo, ao contrário do que acontece na maioria das linguagens de programação.
De qualquer forma, é aconselhável declarar as variáveis, além de um bom costume e para isso Javascript conta com a palavra var. Como é lógico, utiliza-se essa palavra para definir a variável antes de utilizá-la.
var operando1
var operando2
Também pode-se atribuir um valor à variável quando se está declarando
var operando1 = 23
var operando2 = 33
Também se permite declarar várias variáveis na mesma linha, sempre que se separem por vírgulas.
var operando1,operando2
Âmbito das variáveis
O que são as variáveis locais e globais, e como trabalhamos com
elas em Javascript.
Chama-se âmbito das variáveis ao lugar onde estas estão disponíveis. Em geral, quando declaramos uma variável fazemos com que esteja disponível no lugar onde se foi declarado, isto ocorre em todas as linguagens de programação e como javascript se define dentro de uma página web, as variáveis que declaremos na página estarão acessíveis dentro dela. Deste modo, não poderemos acessar às variáveis que tenham sido definidas em outra página. Este é o âmbito mais habitual de uma variável e chamamos a este tipo de variáveis globais à página, mesmo que não seja o único, já que também poderemos declarar variáveis em lugares mais dimensionados.
Variáveis globais
Como dissemos, as variáveis globais são as que estão declaradas no âmbito mais amplo possível, que em Javascript é uma página web. Para declarar uma variável global à página simplesmente faremos em um script, com a palavra var.
<SCRIPT>
var variávelGlobal
</SCRIPT>
As variáveis globais são acessíveis desde qualquer lugar da página, ou seja, a partir do script onde foi declarado e todos os demais scripts da página, incluindo os que manejam os eventos, como o onclick, que já vimos que podia ser incluído dentro de determinadas etiquetas HTML.
Variáveis locais
Também poderemos declarar variáveis em lugares mais dimensionados, como por exemplo, uma função. A estas variáveis chamaremos de locais. Quando se declarem variáveis locais somente poderemos acessá-las dentro do lugar aonde tenha sido declaradas, ou seja, se havíamos declarado em uma função somente poderemos acessá-la quando estivermos nessa função.
As variáveis podem ser locais em uma função, mas também podem ser locais a outros âmbitos, como por exemplo, um loop. Em geral, são âmbitos locais qualquer lugar dimensionado por chaves.
<SCRIPT>
function minhaFuncao) (){
var variavelLocal
}
</SCRIPT>
No script anterior declaramos uma variável dentro de uma função, pelo qual esta variável somente terá validade dentro da função. Pode-se ver as chaves para dimensionar o lugar onde está definida essa função ou seu âmbito.
Não há problema em declarar uma variável local com o mesmo nome que uma global, neste caso a variável local será visível desde toda a página, exceto no âmbito onde está declarada a variável local já que neste lugar esse nome de variável está ocupado pela local e é ela quem validade.
<SCRIPT>
var numero = 2
function minhaFuncao (){
var numero = 19
document.write(numero) //imprime 19
}
document.write(numero) //imprime 2
</SCRIPT>
Um conselho para os principiantes poderia ser não declarar variáveis com os mesmos nomes, para que nunca tenha confusão sobre qual variável é a que tem validade em cada momento.
Diferenças entre utilizar var ou não
Como dissemos, em Javascript temos liberdade para declarar ou não as variáveis com a palavra var, mas os efeitos que conseguiremos em cada caso serão distintos. Na verdade, quando utilizamos var, estamos fazendo com que a variável que estamos declarando seja local ao âmbito onde se declara. Por outro lado, se não utilizamos a palavra var para declarar uma variável esta será global a toda a página, seja qual for o âmbito no qual tenha sido declarada.
No caso de uma variável declarada na página web, fora de uma função ou de qualquer outro âmbito mais reduzido, é indiferente se se declara ou não com var, desde um ponto de vista funcional. Isto é devido a que qualquer variável declarada fora do âmbito global a toda a página. A diferença pode ser apreciada em uma função por exemplo, já que se utilizamos var a variável será local à função e se não o utilizamos , a variável será global à página. Esta diferença é fundamental na hora de controlar corretamente o uso das variáveis na página, já que se não o fazemos em uma função poderíamos sobrescrever o valor de uma variável, perdendo o dado que pudesse conter previamente.
<SCRIPT>
var numero = 2
function minhaFuncao (){
numero = 19
document.write(numero) //imprime 19
}
document.write(numero) //imprime 2
//chamamos a funcao
minhaFuncao()
document.write(numero) //imprime 19
</SCRIPT>
Neste exemplo, temos uma variável global à página chamada
numero, que contém um 2. Também temos uma função
que utiliza a variável numero sem a ter declarado com var, pelo que a
variável numero da funcao será mesma variável global numero
declarada fora da função. Em uma situação com esta,
ao executar a função se sobrescreverá a variável
numero e o dado que havia antes de executar a função se perderá.
O que podemos salvar em variáveis
Vemos o conceito de tipos de dados para a linguagem javascript e porque é
importante manejá-los bem.
Em uma variável podemos introduzir vários tipos de informação, por exemplo, texto, números inteiros ou reais, etc. A estas distintas classes de informação conhecemos como tipos de dados. Cada um tem características e usos distintos, vejamos quais são os tipos de dados de Javascript.
Números
Para começar temos o tipo numérico, para salvar números
como 9 ou 23.6
Cadeias
O tipo cadeia de caractere salva um texto. Sempre que escrevemos uma cadeia
de caracteres devemos utilizar as aspas (").
Boleanos
Também contamos com o tipo boleano, que salva uma informação
que pode valer como sim (true) ou não (false).
Por último seria relevante assinalar aqui que nossas variáveis podem conter coisas mais complicadas, como poderia ser um objeto, uma função, ou vazio (null) mas já o vermos mais adiante.
Na verdade nossas variáveis não estão forçadas a salvar um tipo de dados em concreto e portanto, não especificamos nenhum tipo de dados para uma variável quando a estamos declarando. Podemos introduzir qualquer informação em uma variável de qualquer tipo, inclusive podemos ir mudando o conteúdo de uma variável de um tipo a outro sem nenhum problema. Vamos ver isto com um exemplo.
var nome_cidade = "Salvador"
var revisado = true
nome_cidade = 32
revisado = "no"
Esta agilidade na hora de atribuir tipos às variáveis pode ser uma vantagem à princípio, sobretudo para pessoas inexperientes, mas a longo prazo pode ser uma fonte de erros já que dependendo do tipo que são as variáveis se comportarão de um modo ou outro e se não controlamos com exatidão o tipo das variáveis podemos encontrar um texto somado a um número. Javascript operará perfeitamente, e devolverá um dado, mas em alguns casos pode que não seja o que estávamos esperando. Sendo assim, mesmo que tenhamos liberdade com os tipos, esta mesma liberdade nos faz estar mais atentos a possíveis desajustes difíceis de detectar ao longo dos programas. Vejamos o que ocorreria no caso de somar letras e números.
var parcela1 = 23
var parcela2 = "33"
var soma = parcela1 + parcela2
document.write(soma)
Este script nos mostraria na página o texto 2333, que não se corresponde com a soma dos dois números, e sim com sua combinação, um atrás do outro.