Obra: JavaScript/Variáveis
Matéria: Português
definição da variável as variáveis são representadas por nomes chamados de identificadores estes identificadores devem ser criados com certas regras devem iniciar por letra ou pelo símbolo ou partir daí além de letras podem conter algarismos até var nome sérgio variável com escopo local livro javascript escopo global uma variável ou matriz que não tenha sido inicializada possui valor undefined indefinido observe que javascript diferencia letras maiúsculas de minúsculas case sensitive portanto undefined null devem ser escritos sempre em letras minúsculas caso queira colocar estes nomes como identificadores se uma variável declarada apenas com instrução var sem atribuir um valor seu conteúdo undefined ou nan not number não um número caso esteja num contexto numérico exemplo var resultado será nan ou se for utilizado teste ocorrerá um erro de execução pois não tem valor definido escopo da variável analisando escopo de variáveis em relação programação orientada objetos podemos afirmar que caso variável seja declarada fora do corpo de uma função ela será considerada como pública global ou seja poderá ser alcançada por todas as funções caso ela seja declarada dentro de uma função ela considerada privada pois somente pode ser vista pelo código da própria função variável pública exemplo var function fx será possível utilizar valor de function fy será possível utilizar valor de variável privada exemplo function fx var será possível utilizar valor de function fy terá valor undefined ou seja não será visto por fy constantes são variáveis declaradas com palavra chave const não podem sofrer alteração de seu conteúdo nem de sua declaração no escopo da rotina exemplo const fator const nome sérgio se tentar efetuar uma redeclaração ocorrerá um erro de execução exemplo const fator var fator também ocorrerá erro se já tiver sido declarada outra variável ou função com mesmo nome function funcao const funcao teste arranjos arrays que incluem vetores matrizes são variáveis que contêm vários elementos em seu interior declaração de um vetor feita utilizando ou elementos delimitados por colchetes ou pelo objeto array exemplo var frutas laranja banana pera var nomes new array sérgio eduardo rodrigues var valores os elementos individuais são acessados colocando se posição do elemento entre colchetes após nome do vetor lembre sempre que os vetores iniciam pelo elemento zero por exemplo para acessar primeiro elemento do vetor valores escreveríamos valores podemos tanto ler quanto alterar elementos do vetor podem se utilizar elementos vazios na declaração de um vetor por exemplo var frutas laranja banana pera abacaxi resultado seria frutas igual laranja frutas igual banana frutas igual undefined frutas igual pera frutas igual undefined frutas igual undefined frutas igual abacaxi length um atributo especial que possui quantidade de elementos do vetor não uma função ou seja tentar utilizar frutas length causará um erro maneira correta de usar atributo frutas length sem os parê
ar utilizar frutas length causará um erro maneira correta de usar atributo frutas length sem os parênteses outra forma de gerar erro tentar acessar elementos fora do range no exemplo acima frutas faria script abortar definição objeto array matriz ou vetor pode ser tanto criado implicitamente var quanto explicitamente var new array este objeto manipula uma coleção de outros objetos atributos atributo length possui quantidade de elementos que tem matriz métodos método concat retorna uma nova matriz concatenando primeira matriz original com os valores ou matrizes dados como argumentos exemplo var sergio eduardo var concat rodrigues terá valor sergio eduardo rodrigues método join junta todos os elementos da matriz em uma string colocando um separador entre os itens exemplo var sergio eduardo rodrigues var join terá valor sergio eduardo rodrigues método pop remove último elemento da matriz retornando elemento removido exemplo var sergio eduardo rodrigues var pop terá valor rodrigues sergio eduardo método push adiciona elementos ao final da matriz valor de retorno depende da versão do javascript até método retorna último elemento adicionado partir da retorna novo tamanho da matriz exemplo var sergio eduardo var push rodrigues terá valor rodrigues js método reverse inverte ordem dos elementos da matriz exemplo var sergio eduardo rodrigues var reverse terão valor rodrigues eduardo sergio método shift remove primeiro elemento da matriz retornando elemento removido exemplo var sergio eduardo rodrigues var shift terá valor sergio terá valor eduardo rodrigues método slice início fim ou slice início retorna uma faixa da matriz extraindo elementos partir de início até mas não inclusive fim se fim for omitido extrai se até fim da matriz fim também pode ser negativo indica último elemento que não será extraído nesse caso exemplo var var slice terá valor método splice início splice início número splice início número itens inserir adiciona ou remove faixas dentro de uma matriz primeiro argumento índice partir do qual devem ser feitas as mudanças remover número itens adicionar os itens inserir exemplo var var splice terá valor terá valor método sort sort ordena matriz opcionalmente com base em uma função de comparação personalizada exemplo var sergio eduardo rodrigues var sort terá valor eduardo rodrigues sergio no caso de passar função de comparação ela deve retornar um valor menor que zero se deve ser classificado antes de se maior que zero se método unshift item adiciona um ou mais elementos ao inicio da matriz exemplo var sergio eduardo rodrigues unshift sr terá valor sr sergio eduardo rodrigues matrizes uma matriz um vetor de vetores ou seja declara se um vetor cujos elementos são vetores exemplo var matriz adao eva caim abel no caso acima elemento caim elemento do vetor da matriz ou seja caim acessado via matriz possível definir uma matriz de forma parcial exemplo var genesis adao eva caim abel sete neste caso os elementos necessários para completar matriz sã
plo var genesis adao eva caim abel sete neste caso os elementos necessários para completar matriz são preenchidos com undefined no exemplo acima genesis numéricas existem duas categorias de números os de notação de ponto flutuante os inteiros os primeiros representam os valores fracionados com valores decimais podem ser expressos de várias maneiras igual que igual que igual que valores inteiros podem ser representados em base decimal hexadecimal ou octal exemplos igual decimal sendo iniciado com assumido que número octal igual decimal números iniciados com são assumidos como numero hexadecimais representa decimal strings são seqüências de caracteres delimitadas por aspas ou apóstrofe exemplos sérgio eduardo um texto qualquer várias linhas nsegunda linha tmesma linha com tabulação ao inicializar uma string pode se utilizar caracteres especiais este tem uma barra inversa para indicar que seu significado especial veja seguinte tabela representa backspace caractere ascii tabulação caractere ascii retorno de carro caractere ascii nova linha caractere ascii tabulação vertical caractere ascii unnnn caractere unicode nnnn representa um valor hexadecimal de ffff xnn caractere ascii nn representa um valor hexadecimal de ff nnn caractere ascii nn representa um valor octal de apóstrofe aspas barra inversa atributos nome descrição length tamanho da string métodos nome descrição escape string mesmo que encodeuri unescape string mesmo que decodeuri encodeuri string codificação necessária para passar string como parametro de uri decodeuri string decodificação necessária de string recebida por parametro uri string decodifica toda uri passada string codifica toda uri passada anchor nome new string sergio anchor retorna sergio big new string sergio big retorna sergio blink new string sergio blink retorna sergio bold new string sergio bold retorna sergio charat posicao mesmo que substring posicao posicao retorna um caractere da string charcodeat posicao valor unicode do caracter da posição concat item concatena itens fornecidos string fixed new string sergio fixed retorna sergio fontcolor cor new string teste fontcolor blue retorna teste fontsize tamanho new string teste fontsize retorna teste indexof substring indexof substring posiçãoinicial procura ocorrencia da substring dentro da string italics new string sergio italics retorna sergio lastindexof substring lastindexof substring posiçãoinicial procura ultima ocorrência da substring dentro da string localecompare outrastring compara outra string com string retorna negativo se string positivo se string outrastring match regexp retorna posição encontrada segundo expressão regular replace valorbusca troca onde localizar valorbusca por valor de busca pode tanto ser uma string como uma expressão regular se for uma string somente primeira ocorrência será substrituida search valorbusca procura por valorbusca slice inicio slice inicio fim substring do inicio até fim fim não incluso small new string teste small retorna te
slice inicio fim substring do inicio até fim fim não incluso small new string teste small retorna teste split new string sergio eduardo rodrigues split retorna sergio eduardo rodrigues strike new string teste strike retorna teste sub new string teste sub retorna teste substr posicao quantidade retorna substring da posição inicial com tamanho fornecido pela quantidade posição pode ser negativo indicando relativo ao final da string substring posiçãoinicial substring posiçãoinicial posiçãofinal substring da posição inicial até posição final posição final não inclusa se posição final não for fornecida será retornado string da posição inicial até fim da string sup new string teste sup retorna teste converte para minusculo converte para maiusculo tolowercase converte para minusculo touppercase converte para maiusculo fromcharcode numero retorna caracter representado pelo indice unicode tipos de dados javascript possui poucos tipos de dados abaixo eles são apresentados numéricos este tipo de dado armazena valores tanto valores inteiros como ponto flutuante exemplo os valores numericos podem fazer parte de operações aritmética como soma subtração multiplicação divisão valores numéricos também podem fazer parte de operações aritiméticas de bits como por exemplo rotação de bits para direita rotação de bits para esquerda rotação de bits direita sem levar em conta sinal ou exclusivo mesmo que xor operação binária mesmo que and operação ou binária mesmo que or negação binária mesmo que not existem várias funções para manipulação de valores numéricos como funções trigonométricas funções de arredondamento exponenciação funções de transformação de tipos etc existem alguns valores numéricos especiais são eles nan abreviação de not number igual não um número ele resultado geralmente de operações inválidas com números como por exemplo resultado da operação irá resultar no nan ele também uma constante que pode ser atribuida uma variável como veremos mais adiante infinity representa um valor infinito podendo ser tanto positivo quanto negativo todas as operações com valores infinitos resultarão num valor infinito exceto divisão subtração que resultará no nan lógicos os valores lógicos podem assumir dois valores true verdadeiro false falso strings são cadeias de caracteres maior número que uma string pode conter depende do navegador em uso valores strings são valores delimitados por apóstrofo ou por aspas exemplo texto ou texto uma barra inversa permite inserção de caracteres especiais exemplo representa backspace caracter ascii tabulação caracter ascii retorno de carro caracter ascii nova linha caracter ascii tabulação vertical caracter ascii unnnn caracter unicode nnnn representa um valor hexadecimal de ffff xnn caracter ascii nn representa um valor hexadecimal de ff apóstrofo aspas barra inversa null null um valor especial representa um objeto nulo não deve ser confundido com uma variável não inicializada pois valor null existe portanto uma variável com conteúdo nul
dido com uma variável não inicializada pois valor null existe portanto uma variável com conteúdo null existe em memória referenciando este objeto especial undefined valor undefined significa que variável não foi instanciada inicialmente todas as variáveis se encontram neste estado exercícios tente prever que script abaixo irá mostrar antes de copiar colar seu conteúdo em um arquivo html exibi lo no browser adiantando um pouco que document writeln faz exibir variável seguida de uma quebra de linha esta função será detalhada mais adiante mas para propósitos didáticos importante saber como mostrar que está sendo calculado document writeln document writeln document writeln esta bem maliciosa resultado inteiro ou ponto flutuante document writeln hello world document writeln hello world en javascript variables and types es programación en javascript variables fr programmation javascript variables it javascript tipi di dati variabili conversão de tipos atribuindo valores diferente da maioria das linguagens javascript define as variáveis dinamicamente portanto ao atribuir uma variável ele escolhe tipo conforme valor passado para variável não sendo necessário especificar mesmo var numero numerica inteira var texto sérgio eduardo rodrigues string var valor numerica com ponto flutuante var ativo true booleana var nascimento new date objeto date esta forma de tratar variáveis tem curioso nome em inglês de duck typing convertendo uma variável pode ser atribuída para outro tipo ou utilizando uma função de conversão ou então fazendo operações aritméticas como por exemplo quando atribuímos ao numero valor ele se encontra no tipo numérico inteiro se dividirmos por ele irá para tipo numérico ponto flutuante numero inteiro numero numero vai para flutuante numero numero ele convertido para string pois está sendo somado outra string numero parsefloat numero ele irá resultar no número numero parseint numero vai para inteiro referências