(CR-DES) JavaScript - Linguagem Orientada A Objetos
(CR-DES) JavaScript - Linguagem Orientada A Objetos
1
1 Introdução
No começo da Internet foram criados vários serviços para realizar muitos tipos de
comunicações, como correio eletrônico, chats, buscas, etc. Mas era demandada uma
linguagem que permitisse apresentar informações junto à formatação de estilos que
funcionasse como um sistema de página com links. À curto prazo, o HTML foi a
linguagem que atendeu à essa necessidade. Porém, logo percebeu-se que ele havia se
tornado obsoleto para definir as novas funcionalidades, não era suficiente para fazer tudo
o que era possível nas páginas web.
Entre as primeiras tecnologias que surgiram a partir daí podemos destacar o Java.
Surgiu, basicamente, através do uso de Applets, que são pequenos programas que se
incorporam às páginas web e que realizam as ações relacionadas aos programas de fins
gerais. Após compatibilizar seus navegadores com a mais nova criação, os applets, a
Netscape passou a desenvolver uma linguagem que fosse mais simples de utilizar que o
Java. Passou a desenvolver então o o "primeiro Javascript" que levou o nome de
LiveScript. Porém, foi um nome que não perdurou por muito tempo já que, antes do
lançamento de sua primeira versão, uma parceria com a Sun Microsystems permitiu o
desenvolvimento conjunto dessa tecnologia que passou a ser conhecida como
"Javascript".
Javascript é uma linguagem que roda no lado cliente (já que quem suporta sua
carga de processamento é o navegador) e é utilizada para criar pequenos programas que
realizam ações em páginas web. Como é compatível com quase todos os navegadores
modernos, é a linguagem do lado cliente mais utilizada.
2
interativas. Outra facilidade do Javascript é que ela é uma linguagem interpretada e
não compilada. O que acontece é que navegador executa cada linha de script como as
recebe. Por este motivo é importante saber que a sintaxe Javascript é case sensitive,
sendo necessária atenção na escrita dos comandos. Caso contrário o Javascript
interpretará, por exemplo, o que seria um comando como sendo o nome de uma variável.
Coisas como essas são o que diferem Javascript de outras linguagens de programação
em que os códigos devem ser compilados ou traduzidos em código de máquina antes de
serem executados.
3. Java é muito mais potente que Javascript, pois Java é uma linguagem de
propósito geral, com a qual pode-se fazer aplicações para variadas funções.
Javascript, entretanto, permite somente a escrita de programas que sejam
3
posteriormente executados em páginas web;
Apesar de diferentes e úteis para diferentes coisas, as duas linguagens podem até
serem utilizadas em conjunto para combinar suas vantagens.
4
2 Sintaxe e Variáveis
Para programar em Javascript necessitamos basicamente o mesmo que para
programar páginas web com HTML. Um editor de textos e um navegador compatível com
Javascript. Porém, apesar de um editor de texto simples ser suficiente para começar,
talvez seja muito útil contar com outros programas que nos oferecem melhores
prestações na hora de escrever as linhas de código. Estes editores avançados têm
algumas vantagens, como colorir os códigos de nossos scripts, nos permitem trabalhar
com vários documentos simultaneamente, têm ajudas, etc. Fica a critério de cada um a
utilização de seu editor.
Em primeiro lugar devemos ter em mente que o código Javascript deve ser inserido
dentro do código HTML. Isto, na prática, faz que se misturem na página as duas
linguagens de programação. Para isso, é necessário o uso de delimitadores do código de
script, que no caso é:
Em uma mesma página podemos introduzir vários scripts, cada um que poderia se
introduzir dentro das etiquetas <script> distintas. Podemos também escrever Javascript
dentro de determinados atributos da página, como o atributo onclick. Estes atributos estão
relacionados com as ações do usuário e são chamados de manejadores de eventos.
Vamos ver mais detalhadamente essas duas maneiras de escrever scripts:
Javascript tem uma sintaxe muito parecida com a de Java por estar baseado nele.
Também é muito parecida com a da linguagem C, de modo que se você conhece alguma
5
destas duas linguagens poderá manejar com facilidade o código.
Como já foi dito, Javascript é uma linguagem case sensitive, ou seja, deve-se
respeitar as maiúsculas e as minúsculas. Se nos equivocamos ao utilizá-las o navegador
responderá com uma mensagem de erro de sintaxe. Por convenção os nomes se
escrevem em minúsculas, salvo que se utilize um nome com mais de uma palavra, pois
nesse caso se escreverão com maiúsculas as iniciais das palavras seguintes à primeira.
OBS.: Podemos utilizar maiúsculas nas iniciais das primeiras palavras em alguns casos
como os nomes das classes, apesar de que já veremos mais adiante quais são estes
casos.
2.4 Variáveis
Exemplo:
<SCRIPT>
6
variávelGlobal
</SCRIPT>
Exemplo:
<script>
function minhaFuncao(){
var variavelLocal
</script>
OBS.: Podem existir variáveis globais com o mesmo nome de variáveis locais, porém,
esta prática não é aconselhável.
Exemplos de declarações:
Nome1="José"
Valor=2
_1contador=0
OBS.: Devemos evitar também utilizar nomes reservados como variáveis. Por exemplo:
não poderemos nomear nossa variável com nomes como return ou for, já que são
utilizadas para estruturas da própria linguagem.
7
inteiros. Com Javascript também podemos escrever números em outras bases. As bases
são sistemas de numeração que utilizam mais ou menos dígitos para escrever os
números. Existem três bases com as que podemos trabalhar:
As strings podem ser delimitadas por aspas simples ou duplas, a única restrição é
que se a delimitação começar com as aspas simples, deve terminar com aspas simples,
da mesma forma para as aspas duplas. Caso seja necessário a utilização destes
caracteres como parte da string, utilize \ precedendo " ou '. Como por exemplo : alert
("Cuidado com o uso de \" ou \' em uma string").
8
3 Strings e Mensagens
3.1 Strings
Exemplo de uso:
que retorna:
isto é uma
frase
Exemplo:
Valor= Frase1+Frase2;
document.write(Valor);
o que retorna:
9
3.2 Métodos de String
Método Função
charAt(x) Retorna o caracter da posição x: texto.charAt(2) retorna d
(lembre-se de que a numeração dos caracteres começa com
zero).
indexOf(substring) Retorna a posição da primeira substring dentro da string:
texto.indexOf("boa") retorna 11.
lastIndexOf(substring) Retorna a posição da última substring dentro da string:
texto.lastIndexOf("a") retorna 13.
substring(início,fim) Retorna a substring entre a posição início e fim:
texto.substring(2,6) retorna deia.
toLowerCase() Retorna a string em minúsculas: texto.toLowerCase() retorna
aldeia numaboa.
toUpperCase() Retorna a string em maiúsculas: texto.toUpperCase() retorna
ALDEIA NUMABOA.
charCodeAt(neo) Retorna o código ASCII do caractere na posição nro:
texto.charCodeAt(0) retorna 65, o valor ASCII do caracter A.
length Retorna o número de caracteres da string: texto.length retorna
14.
Método Função
anchor Cria uma âncora na página HTML, que se refere a stringObject. Equivale à
tag <a name="nome da ancora">stringObject</a>.
big Mostra stringObject com tamanho grande. Equivale à tag <big></big>.
blink Mostra stringObject piscando na tela. Equivale à tag <blink></blink>.
bold Mostra stringObject em negrito. Equivale à tag <b></b>.
fixed Mostra stringObject com fonte de tamanho fixo. Equivale a tag <tt></tt>.
fontcolor Determina a cor que stringObject será mostrada. Equivale à tag <font
color=#RGB></font>.
fontsize Mostra stringObject no tamanho definido por "x". Equivale à tag <font
size="tamanho"></font>.
italics Mostra stringObject no formato itálico. Equivale à tag <i></i>.
link Cria um link, onde stringObject é o texto que aparece em destaque.
small Mostra stringObject em fonte pequena. Equivale à tag <small></small>.
strike Mostra stringObject com um traço no meio. Equivale à tag <strike></strike>.
sub Mostra stringObject no formato subscript. Equivale à tag <sub></sub>.
sup Mostra stringObject no formato sobrescrito. Equivale à tag <sup> </sup>.
10
<script>
document.write(frase.length); //retorna 21
</script>
Exemplo:
numvar= parseInt(varstring);
No caso do exemplo anterior o valor armazenado em numvar será 30, pois a parte
não-numérica é desconsiderada na passagem para numérico. Se um número válido não
for localizado, a expressão retorna a string NaN (Not A Number).
11
3.4 Mensagens
Existem três maneiras de comunicação com o usuário no Javascript. Eis aqui cada
uma e sua explicação:
• alert: é usado para imprimir informação ao usuário por meio de uma caixa de alerta
no browser.
Exemplo:
<script>
</Script>
Exemplo:
<Script>
if (confirm("Deseja Continuar?"))
{ alert("Continuando") }
else
{ alert("Parando") }
</Script >
• prompt: recebe informação do usuário via caixa de texto Input. Será explicada
melhor a seguir.
A seguir, defina uma segunda string chamada esp. Essa string será exibida entre
as cópias da mensagem para tornar claro onde uma termina e a outra começa. Por
12
exemplo :
.uma variável numérica para armazenar a posição atual da string. Chame-a de pós e
inicialize-a com 0:
pos=0;
A rolagem do texto será feita por uma função que chamaremos de rolamensagem:
1: function rolamensagem(){
2: window.status=frase.substring(pos,frase.length)+esp+frase.substring(0,pos);
3: pos++;
4: if(pos>frase.length)
5: pos =0;
6: window.setTimeout(“rolamensagem()”, 500);
7: }
Na linha 2, temos uma instrução que exibe uma string na linha de status (pelo uso
de window.status). A string é composta da parte de 'frase' de 'pos' até o fim, seguida pelo
espaço. É seguido, então, pela parte de 'frase' desde o início de 'pos'. Incrementamos
então a variável 'pos'. Após isto temos uma instrução que verifica se 'pos' é maior que o
comprimento de 'frase'. Se for, redefine-o para 0. Temos por último uma instrução que
utiliza o método 'window.setTimeout', que permite configurar uma instrução a ser
executada depois de um período de tempo. Nesse caso, execute a função rolamensagem
depois do 0,5 segundo.
<html>
<head>
<script>
13
esp="... ... "
pos=0
function rolamensagem(){
window.status=frase.substring(pos,frase.length)+esp+frase.substring(0,pos)
pos++
if (pos>frase.length)
pos=0
window.setTimeout("rolamensagem()",300)
rolamensagem()
</script>
</head>
<body>
</body>
</html>
a partir disso podemos utilizar o conteúdo das variáveis para personalizar o documento
HTML.
document.write(“<H1>”+ titulo+”</H1>”);
14
document.write(“<H2> Criada por“+nome+”</H2>”);
Para completar esse script, adicione as tags < SCRIPT> normais e uma estrutura
HTML. O exemplo abaixo mostra o documento final de HTML. Após isso, e só carregar o
documento em um browser e ver o resultado.
<html>
<head>
</head>
<body>
<script>
document.write(“<h1>”+ titulo+”</h1>”);
</script>
</body>
</html>
15
4 Objetos e Arrays
4.1 Objetos
Manipulando Arrays
vetor[0]=150
vetor[1]=80
vetor[2]=10
Para ver na tela os dados armazenados em casa posição do array podemos usar
um loop for desta maneira:
for (i=0;i<3;i++){
16
document.write("<br>")
O Javascript inclui um método de string chamado split, que divide uma string em
suas partes componentes. Para utilizar esse método, especifique a string a dividir e um
caractere para dividir as partes :
Frase=”isto é um vetor”
Vetor=Frase.split(“ “);
Neste caso, a string Frase mantém o 'isto é um vetor'. O método split na segunda
instrução divide a string nome em cada espaço, resultado em quatro strings. Estas são
armazenadas em um array de strings chamado Vetor. Depois que as instruções de
exemplo executam, os elementos de partes contêm o seguinte :
vetor[0]="isto";
vetor[1]="é";
vetor[2]="um";
vetor[3]="vetor";
JuntaVetor=Vetor.join(“ “);
No caso do Javascript podemos colocar num vetor tipos de dados diferentes para
cada posição:
vetor[0]="ola";
vetor[1]=15;
vetor[2]=false;
17
vetor[3]=0.547;
Para outros propósitos, podemos trabalhar com vetores de uma maneira diferente.
Podemos primeiramente criar uma função com vários parâmetros desta maneira:
Function Registro(nome,endereco,telefone){
this.nome=nome;
this.endereco=endereco;
this.telefone=telefone;
OBS.: O This especifica o objeto atual como sendo fonte dos valores passados à função.
Além disso, para acessar a uma propriedade de um objeto há que utilizar o operador
ponto.
e o referenciamos assim:
ou assim:
Function Vetor(x){
this.length=x
this[i]="";
18
Há que observar que o loop for se executa sempre que i tiver um valor menor que a
longitude do array, extraída de sua propriedade length. Chamaríamos a função assim:
MesDoAno=Vetor(12);
MesDoAno[0]='Janeiro'
MesDoAno[1]='Fevereiro'
MesDoAno[2]='Março'
...
Ordenando um array
O Javascript também inclui o método sort para arrays, que retorna uma versão
classificada do array (alfabeticamente ou numericamente). Por exemplo, as seguintes
instruções inicializam um array de quatro nomes e o classifica:
ordenados=alunos.sort();
19
Exemplo:
,o que geraria:
Alunos[0].nome="José";
Alunos[0].endereco="Rua tal1";
Alunos[0].telefone="3333-3333";
Alunos[1].nome="Ana";
Alunos[1].endereco="Rua tal2";
Alunos[1].telefone="2222-2222";
Alunos[2].nome="João";
Alunos[2].endereco="Rua tal3";
Alunos[2].telefone=null;
...etc.
PopulacaoCidade0[0] = 1200;
PopulacaoCidade0[1] = 1000;
PopulacaoCidade0[2] = 1100;
PopulacaoCidade1[0] = 5000;
PopulacaoCidade1[1] = 3000;
PopulacaoCidade1[2] = 2000;
20
em seguida:
PopulacaoPais[0] = PopulacaoCidade0;
PopulacaoPais[1] = PopulacaoCidade1;
PopulacaoPais[2] = PopulacaoCidade2;
for (i=0;i<PopulacaoPais.length;i++){
for (j=0;j<PopulacaoPais[i].length;j++){
document.write(PopulacaoPais[i][j]);
21
5 Operadores e Comandos
22
6 Referências
•
23