Anda di halaman 1dari 12

14/03/2017 JavaScript/Variveis - Wikilivros

JavaScript/Variveis
Origem: Wikilivros, livros abertos por um mundo aberto.
< JavaScript

ndice
1 Definio da varivel
2 Escopo da varivel
2.1 Varivel pblica
2.2 Varivel privada
3 Constantes
4 Arranjos
4.1 Definio
4.1.1 Atributos
4.1.2 Mtodos
4.2 Matrizes
5 Numricas
6 Strings
6.1 Atributos
6.2 Mtodos
7 Tipos de dados
7.1 Numricos
7.2 Lgicos
7.3 Strings
7.4 O null
7.5 O undefined
7.6 Exerccios
8 Converso de Tipos
8.1 Atribuindo valores
8.2 Convertendo
9 Referncias

Definio da varivel
As variveis so representadas por nomes chamados de identificadores. Estes identificadores devem ser
criados com certas regras:

1. Devem iniciar obrigatoriamente por letra ou pelo smbolo _ ou $.


2. A partir da, alm de letras, _ e $, podem conter algarismos (0 at 9).

var nome = "Srgio" ; //Varivel com escopo "local".


livro = "JavaScript" ; //Escopo global.

Uma varivel ou matriz que no tenha sido inicializada possui o valor undefined (indefinido). Observe que o
JavaScript diferencia letras maisculas de minsculas (case-sensitive). Portanto, undefined e null devem ser
escritos sempre em letras minsculas caso queira colocar estes nomes como identificadores.

https://pt.wikibooks.org/wiki/JavaScript/Vari%C3%A1veis 1/12
14/03/2017 JavaScript/Variveis - Wikilivros

Se uma varivel declarada apenas com a instruo var (sem atribuir um valor), o seu contedo undefined
ou NaN (Not a Number, no um nmero), caso esteja num contexto numrico.

Exemplo:

var x;
x = x * 2;

O resultado ser NaN.

Ou se for utilizado:

x = x + "teste"

Ocorrer um erro de execuo, pois x no tem valor definido.

Escopo da varivel
Analisando o escopo de variveis em relao a programao orientada a objetos, podemos afirmar que: caso a
varivel seja declarada fora do corpo de uma funo, ela ser considerada como pblica (global), ou seja,
poder ser alcanada por todas as funes. Caso ela seja declarada dentro de uma funo, ela considerada
privada, pois somente pode ser vista pelo cdigo da prpria funo.

Varivel pblica

Exemplo:

var x=10;
function fx() {
/* ser possvel utilizar o valor de x */
}
function fy() {
/* ser possvel utilizar o valor de x */
}

Varivel privada

Exemplo:

function fx() {
var x = 5;
/* ser possvel utilizar o valor de x */
}
function fy() {
/* x ter valor undefined, ou seja, no ser visto por fy */
}

Constantes

https://pt.wikibooks.org/wiki/JavaScript/Vari%C3%A1veis 2/12
14/03/2017 JavaScript/Variveis - Wikilivros

So variveis declaradas com a palavra chave const. No podem sofrer alterao de seu contedo e nem de
sua declarao no escopo da rotina.

Exemplo:

const fator = 1.34;


const nome = "Srgio" ;

Se tentar efetuar uma redeclarao, ocorrer um erro de execuo.

Exemplo:

const fator = 1.34;


var fator = 22;

Tambm ocorrer erro se j tiver sido declarada outra varivel ou funo com o mesmo nome:

function funcao () {}
const funcao = "teste" ;

Arranjos
Arrays, que incluem vetores e matrizes, so variveis que contm vrios elementos em seu interior. A
declarao de um vetor feita utilizando ou elementos delimitados por colchetes [] ou pelo objeto Array.

Exemplo:

var frutas = ["laranja" , "banana" , "pera" ];


var nomes = new Array("Srgio" , "Eduardo" , "Rodrigues" );
var valores = [1.34, 10, 50, 13e2];

Os elementos individuais so acessados colocando-se a posio do elemento entre colchetes aps o nome do
vetor. Lembre sempre que os vetores iniciam pelo elemento zero (0). Por exemplo, para acessar o primeiro
elemento do vetor valores, escreveramos valores[0]. Podemos tanto ler quanto alterar elementos do vetor.

Podem-se utilizar elementos vazios na declarao de um vetor, por exemplo:

var frutas = ["laranja" ,"banana" ,,"pera" ,,,"abacaxi" ];

O resultado seria:

frutas[0] igual a "laranja"


frutas[1] igual a "banana"
frutas[2] igual a undefined
frutas[3] igual a "pera"
frutas[4] igual a undefined
frutas[5] igual a undefined
frutas[6] igual a "abacaxi"
https://pt.wikibooks.org/wiki/JavaScript/Vari%C3%A1veis 3/12
14/03/2017 JavaScript/Variveis - Wikilivros

length um atributo especial que possui a quantidade de elementos do vetor. No uma funo; ou seja, tentar
utilizar frutas.length() causar um erro. A maneira correta de usar o atributo frutas.length, sem os
parnteses.

Outra forma de gerar erro tentar acessar elementos fora do range; no exemplo acima, frutas[7] faria o script
abortar.

Definio

O objeto Array (matriz ou vetor) pode ser tanto criado implicitamente:

var m = [1, 2, 3, 4];

Quanto explicitamente:

var m = new Array(1, 2, 3, 4);

Este objeto manipula uma coleo de outros objetos.

Atributos

O atributo length possui a quantidade de elementos que tem a matriz.

Mtodos

O mtodo concat retorna uma nova matriz, concatenando a primeira matriz (original) com os valores ou
matrizes dados como argumentos.

Exemplo:

var m = ["sergio" , "eduardo" ];


var n = m.concat ("rodrigues" );
//n ter valor/["sergio", "eduardo", "rodrigues"]

O mtodo join junta todos os elementos da matriz em uma string, colocando um separador entre os itens.

Exemplo:

var m = ["sergio" , "eduardo" , "rodrigues" ];


var n = m.join("+ ");
//n ter valor/"sergio+ eduardo+ rodrigues"

O mtodo pop remove o ltimo elemento da matriz, retornando o elemento removido.

Exemplo:

var m = ["sergio" , "eduardo" , "rodrigues" ];


var n = m.pop();
//n ter valor/"rodrigues"; e ''m''/["sergio", "eduardo"]
https://pt.wikibooks.org/wiki/JavaScript/Vari%C3%A1veis 4/12
14/03/2017 JavaScript/Variveis - Wikilivros

O mtodo push adiciona elementos ao final da matriz. O valor de retorno depende da verso do JavaScript/at a
1.2, o mtodo retorna o ltimo elemento adicionado; a partir da 1.3, retorna o novo tamanho da matriz.

Exemplo:

var m = ["sergio" , "eduardo" ];


var n = m.push("rodrigues" );
//n ter valor/"rodrigues" (JS &lt; 1.3) ou 3 (JS 1.3) e m/["sergio", "eduardo", "rodrigues"]

O mtodo reverse inverte a ordem dos elementos da matriz.

Exemplo:

var m = ["sergio" , "eduardo" , "rodrigues" ];


var n = m.reverse ();
//n e m tero valor/["rodrigues", "eduardo", "sergio"]

O mtodo shift remove o primeiro elemento da matriz, retornando o elemento removido.

Exemplo:

var m = ["sergio" , "eduardo" , "rodrigues" ];


var n = m.shift();
n ter valor/"sergio"
m ter valor/["eduardo" , "rodrigues" ]

O mtodo slice(incio, fim), ou slice(incio), retorna uma faixa da matriz, extraindo elementos a partir
de incio e at (mas no inclusive) fim. Se fim for omitido, extrai-se at o fim da matriz. fim tambm pode ser
negativo; -1 indica o ltimo elemento (que no ser extrado, nesse caso).

Exemplo:

var m = ["a", "b", "c", "d", "e", "f", "g", "h"];


var n = m.slice(0, 2);
\\n ter valor/["a", "b"]

O mtodo splice(incio), splice(incio, nmero), splice(incio, nmero, itens a inserir...),


adiciona e/ou remove faixas dentro de uma matriz. O primeiro argumento o ndice a partir do qual devem ser
feitas as mudanas? remover nmero itens e adicionar os itens a inserir.

Exemplo:

var m = ["a", "b", "c", "d", "e", "f", "g", "h"];


var n = m.splice (0, 2);
//n ter valor/["a", "b"]
//m ter valor/["c", "d", "e", "f", "g", "h"]

https://pt.wikibooks.org/wiki/JavaScript/Vari%C3%A1veis 5/12
14/03/2017 JavaScript/Variveis - Wikilivros

O mtodo sort, sort (funo_de_comparao(a, b)), ordena a matriz, opcionalmente com base em uma
funo de comparao personalizada.

Exemplo:

var m = ["sergio" ,"eduardo" ,"rodrigues" ];


var n = m.sort()
//n ter valor/["eduardo","rodrigues","sergio"]

No caso de passar a funo de comparao, ela deve retornar um valor menor que zero se a < b (a deve ser
classificado antes de b), 0 se a = b e maior que zero se a > b.

O mtodo unshift(item, ...) adiciona um ou mais elementos ao inicio da matriz.

Exemplo:

var m = ["sergio" , "eduardo" , "rodrigues" ];


m.unshift ("sr");
//m ter valor/["sr", "sergio", "eduardo", "rodrigues"]

Matrizes

Uma matriz um vetor de vetores, ou seja, declara-se um vetor, cujos elementos so vetores.

Exemplo:

var matriz = [["adao" , "eva"], ["caim" , "abel" ]]

No caso acima, o elemento "caim" o elemento [0] do vetor [1] da matriz, ou seja, "caim" acessado via
matriz[1][0].

possvel definir uma matriz de forma parcial

Exemplo:

var genesis = [["adao" , "eva"], ["caim" , "abel" , "sete" ]]

Neste caso, os elementos necessrios para completar a matriz so preenchidos com undefined (no exemplo
acima, genesis[0][2]).

Numricas
Existem duas categorias de nmeros, os de notao de ponto flutuante e os inteiros. Os primeiros representam
os valores fracionados, com valores decimais. Podem ser expressos de vrias maneiras:

1e3 // igual a 1 x 10<sup>3</sup>, que 1000


-3.28e12 // igual a -3.28 x 10<sup>12</sup>, que -3280000000000
1e-12 // igual a 1 x 10<sup>12</sup>, que 0.000000000001

https://pt.wikibooks.org/wiki/JavaScript/Vari%C3%A1veis 6/12
14/03/2017 JavaScript/Variveis - Wikilivros

Valores inteiros podem ser representados em base 10 (decimal), 16 (hexadecimal) ou 8 (octal).

Exemplos:

012 // igual a 10 decimal. Sendo iniciado com 0, assumido que o nmero octal.
0x12 // igual a 18 decimal. Nmeros iniciados com 0x so assumidos como numero hexadecimais.
12 //representa 12 decimal.

Strings
So seqncias de caracteres delimitadas por (") aspas ou (') apstrofe.

Exemplos:

'Srgio Eduardo'
"um texto qualquer"
"vrias linhas:\nSegunda Linha\tMesma linha com tabulao"

Ao inicializar uma string pode-se utilizar caracteres especiais, este tem uma barra inversa(\) para indicar que
seu significado especial, veja a seguinte tabela

\b Representa o backspace (caractere ASCII 8)


\t Tabulao (caractere ASCII 9)
\r Retorno de carro (caractere ASCII 13)
\n Nova linha (caractere ASCII 10)
\v Tabulao vertical (caractere ASCII 11)
\uNNNN Caractere Unicode (NNNN representa um valor hexadecimal de 0000 a FFFF)
\xNN Caractere ASCII (NN representa um valor hexadecimal de 00 a FF)
\0NNN Caractere ASCII (NN representa um valor octal de 000 a 0377)
\' Apstrofe
\" Aspas
\\ Barra inversa

Atributos

Nome Descrio

length Tamanho da string

Mtodos

Nome Descrio

escape(string) mesmo que encodeURI

unescape(string) mesmo que decodeURI


https://pt.wikibooks.org/wiki/JavaScript/Vari%C3%A1veis 7/12
14/03/2017 JavaScript/Variveis - Wikilivros

encodeURI(string) Codificao necessria para passar string como parametro de URI

decodeURI(string) Decodificao necessria de string recebida por parametro URI

decodeURIComponent(string) Decodifica toda a URI passada

encodeURIComponent(string) Codifica toda a URI passada

new String(sergio).anchor(n);
anchor(nome)
retorna /<a name=n>sergio</a>

new String(sergio).big();
big()
retorna /<big>sergio</big>

new String(sergio).blink();
blink()
retorna /<blink>sergio</blink>

new String(sergio).bold();
bold()
retorna /<b>sergio</b>

charAt(posicao) o mesmo que substring(posicao, posicao+1), retorna um caractere da string.

charCodeAt(posicao) Valor unicode do caracter da posio.

concat(item ...) Concatena itens fornecidos a string.

fixed() new String(sergio).fixed(); retorna /<tt>sergio</tt>

new String("teste").fontcolor("blue"),
fontcolor(cor)
retorna/<font color="blue">teste</font>

new String("teste").fontsize(16),
fontsize(tamanho)
retorna/<font size="16">teste</font>

indexOf(substring)
Procura a ocorrencia da substring dentro da string
indexOf(substring,
posioInicial)

italics() new String(sergio).italics(),


retorna /<i>sergio</i>
https://pt.wikibooks.org/wiki/JavaScript/Vari%C3%A1veis 8/12
14/03/2017 JavaScript/Variveis - Wikilivros

lastIndexOf(substring)
Procura a ultima ocorrncia da substring dentro da string.
lastIndexOf(substring,
posioInicial)

Compara outra string com a string e retorna :


localeCompare(outraString)
negativo se string < outraString 0 se for igual
positivo se string > outraString

match(regexp) retorna posio encontrada segundo expresso regular

troca onde localizar valorBusca por


replace(valorBusca,
valorSubstituio, o valor de busca pode tanto ser uma string, como uma
valorSubstituio)
expresso regular, se for uma string somente a

primeira ocorrncia ser substrituida.

search(valorBusca) procura por valorBusca

slice(inicio)
substring do inicio at o fim, fim no incluso,
slice(inicio, fim)

new String("teste").small();
small()
retorna /<small>teste</small>

new String("Sergio Eduardo Rodrigues").split(" ");


split()
retorna /[Sergio, Eduardo, Rodrigues]

new String("teste").strike();
strike()
retorna/<strike>teste</strike>

sub() new String("teste").sub(); retorna/<sub>teste</sub>

Retorna a substring da posio inicial, com


substr(posicao, quantidade)
tamanho fornecido pela quantidade. a posio pode ser

negativo, indicando relativo ao final da string.

substring(posioInicial) Substring da posio inicial at

substring(posioInicial, posio final, posio final no


posioFinal)
inclusa. se a posio final no for fornecida, ser retornado a string da posio
https://pt.wikibooks.org/wiki/JavaScript/Vari%C3%A1veis 9/12
14/03/2017 JavaScript/Variveis - Wikilivros

inicial at fim da string

new String("teste").sup();
sup()
retorna/<sup>teste</sup>

toLocaleLowerCase() Converte para minusculo

toLocaleUpperCase() Converte para maiusculo

toLowerCase() Converte para minusculo

toUpperCase() Converte para maiusculo

<mtodo esttico>
retorna o caracter representado pelo indice unicode <numero>
fromCharCode(numero)

Tipos de dados
O JavaScript possui poucos tipos de dados. Abaixo eles so apresentados.

Numricos

Este tipo de dado armazena valores, tanto valores inteiros como ponto flutuante.

Exemplo:

1
84
2e10
3.141516
0.000001

Os valores numericos podem fazer parte de operaes aritmtica, como a soma, subtrao, multiplicao e
diviso.

Valores numricos tambm podem fazer parte de operaes aritimticas de bits. Como por exemplo >> rotao
de bits para direita, << rotao de bits para esquerda, >>> rotao de bits a direita sem levar em conta o sinal, ^
OU exclusivo (mesmo que XOR), (&) operao E binria (mesmo que AND), (|) operao OU binria (mesmo
que OR), (~) negao binria (mesmo que NOT).

Existem vrias funes para manipulao de valores numricos, como funes trigonomtricas, funes de
arredondamento e exponenciao, funes de transformao de tipos, etc.

Existem alguns valores numricos especiais, so eles :

NaN a abreviao de (Not a Number), igual a "no um Nmero", ele o resultado geralmente de operaes
invlidas com nmeros. Como por exemplo, o resultado da operao 0 / 0 , ir resultar no NaN. Ele tambm
uma constante, que pode ser atribuida a uma varivel, como veremos mais adiante.

https://pt.wikibooks.org/wiki/JavaScript/Vari%C3%A1veis 10/12
14/03/2017 JavaScript/Variveis - Wikilivros

Infinity representa um valor infinito, podendo ser tanto positivo quanto negativo. Todas as operaes com
valores infinitos resultaro num valor infinito, exceto diviso e subtrao que resultar no NaN.

Lgicos

Os valores lgicos podem assumir dois valores: true (verdadeiro) e false (falso).

Strings

So cadeias de caracteres, o maior nmero que uma String pode conter depende do navegador em uso.

Valores Strings so valores delimitados por apstrofo ' ou por aspas " .

Exemplo:

"texto" // ou 'texto'

Uma barra inversa permite a insero de caracteres especiais.

Exemplo:

"\b" //Representa o backspace (caracter ascii 8)


"\t" //Tabulao (caracter ascii 9)
"\r" //Retorno de carro (caracter ascii 13)
"\n" //Nova linha (caracter ascii 10)
"\v" //Tabulao vertical (caracter ascii 11)
"\uNNNN" //Caracter unicode (NNNN representa um valor hexadecimal de 0000 a FFFF)
"\xNN" //Caracter ascii (NN representa um valor hexadecimal de 00 a FF)
"\'" //Apstrofo
"\"" //Aspas
"\\" //Barra inversa

O null

O null um valor especial, representa um objeto nulo, no deve ser confundido com uma varivel no
inicializada, pois o valor null existe.

Portanto uma varivel com o contedo null existe em memria, referenciando este objeto especial.

O undefined

O valor undefined significa que a varivel no foi instanciada, inicialmente todas as variveis se encontram
neste estado.

Exerccios

Tente prever o que o script abaixo ir mostrar antes de copiar e colar seu contedo em um arquivo HTML e exibi-
lo no browser. Adiantando um pouco, o que document.writeln(x, "
"); faz exibir a varivel x , seguida de uma quebra de linha. Esta funo ser detalhada mais adiante, mas
para propsitos didticos importante saber como mostrar o que est sendo calculado.

document .writeln (1 << 3, "<br />" );


document .writeln (0/0, "<br />" );
https://pt.wikibooks.org/wiki/JavaScript/Vari%C3%A1veis 11/12
14/03/2017 JavaScript/Variveis - Wikilivros
document .writeln (5/2, "<br />" ); /* esta bem maliciosa. O resultado inteiro ou ponto flutuante? */
document .writeln ("Hello, world!" , "<br />" );
document .writeln ("Hello, world!<br />" );

Converso de Tipos
Atribuindo valores

Diferente da maioria das linguagens o JavaScript define as variveis dinamicamente, portanto ao atribuir uma
varivel ele escolhe o tipo conforme o valor passado para a varivel, no sendo necessrio especificar o mesmo.

var numero = 1; //Numerica inteira.


var texto = "Srgio Eduardo Rodrigues" ; //String.
var valor = 123.45 ; //Numerica com ponto flutuante.
var ativo = true; //Booleana.
var nascimento = new Date(1969,1,4); //Objeto date.

Esta forma de tratar variveis tem o curioso nome, em ingls, de "duck typing" [1] .

Convertendo

Uma varivel pode ser atribuda para outro tipo, ou utilizando uma funo de converso ou ento fazendo
operaes aritmticas.

Como por exemplo, quando atribumos ao numero o valor 1, ele se encontra no tipo numrico inteiro, se o
dividirmos por 2 ele ir para o tipo numrico ponto flutuante:

numero = 1; // inteiro 1 .
numero = numero / 2; // Vai para flutuante 0.5 .
numero = " " + numero ; // ele convertido para string, pois est sendo somado outra string.
numero = parseFloat (numero ); // Ele ir resultar no nmero 0.5 .
numero = parseInt (numero ); // Vai para o inteiro 0.

Referncias
1. http://en.wikipedia.org/wiki/Duck_typing Duck typing, na Wikipedia em ingls

Obtido em "https://pt.wikibooks.org/w/index.php?title=JavaScript/Variveis&oldid=267560"

Categoria: Livro/JavaScript

Esta pgina foi modificada pela ltima vez (s) 23h23min de 16 de janeiro de 2014.
Este texto disponibilizado nos termos da licena Creative Commons Atribuio-Compartilhamento pela
mesma Licena 3.0 Unported; pode estar sujeito a condies adicionais. Consulte as Condies de Uso
para mais detalhes.

https://pt.wikibooks.org/wiki/JavaScript/Vari%C3%A1veis 12/12

Anda mungkin juga menyukai