Escolar Documentos
Profissional Documentos
Cultura Documentos
Apostila sobre
Java Script
1.2
4
"oficial" mas acho que ela torna mais compreensvel a diferena entre Java e
JavaScript.
1.3
Exemplo 1:
Crie um arquivo HTML chamado Alo.html e coloque o cdigo abaixo:
<html>
<body>
<form>
<input type="button" name="Button1" value="Aperte-me"
onClick="mensagem()">
</form>
</body>
</html>
<script language="JavaScript">
function mensagem() {
alert("Alo!");
}
</script>
Abra o arquivo Alo.html com o seu navegador e clique no boto Aperteme, o resultado ser este:
Exemplo 2:
Crie um arquivo HTML chamado Saudacao.html e coloque o cdigo abaixo:
<html>
<head>
<script language="JavaScript">
<!-- hide script from old browsers
function getname(str) {
alert("Oi, "+ str+"!");
}
// end hiding contents -->
</script>
</head>
6
<body>
Coloque o seu nome, por favor:
<form>
<input type="text" name="name"
onBlur="getname(this.value)" value="">
</form>
</body>
</html>
Abra o arquivo Saudacao.html com o seu navegador, digite seu nome na caixa
de texto e clique na parte em branco da pgina, o resultado ser este:
Exemplo 3:
<html>
<body>
Esta uma pgina-HTML simples.
<br>
ltimas modificaes:
<script language="JavaScript">
<!-- hide script from old browsers
document.write(document.lastModified)
// end hiding contents -->
</script>
</body>
</html>
Igual
Diferente
Maior
Maior ou Igual
9
<
<=
&&
||
Menor
Menor ou Igual
E
Ou
backspace
form feed
new line caracters
carriage return
tab characters
Linha de comentrio
Delimitadores para inserir um texto com mais de uma linha como
comentrio
Os delimitadores naturais para uma string so " ou ' . Caso seja necessrio a
utilizao destes caracteres como parte da string, utilize \ precedendo " ou '.
Ex. alert ("Cuidado com o uso de \" ou \' em uma string")
10
3 Comandos Condicionais
So comandos que condicionam a execuo de uma certa tarefa veracidade ou
no de uma determinada condio, ou enquanto determinada condio for
verdadeira.
So eles:
Comando IF
if (condio) {
ao para condio satisfeita
}
[ else {
ao para condio no satisfeita } ]
Ex.:
if (Idade < 18) {
Categoria = "Menor"
} else {
Categoria = "Maior"
}
Comando FOR
for ( [inicializao/criao de varivel de controle ;]
[condio ;]
[incremento da varivel de controle] )
{ ao }
Ex.:
for (x = 0 ; x == 10 ; x++) {
alert ("X igual a " + x)
}
Comando WHILE
Executa uma ao enquanto determinada condio for verdadeira.
while (condio)
{ ao }
11
Ex.:
var contador = 10
while (contador > 1) {
contador}
Move condicional
receptor = ( (condio) ? verdadeiro : falso)
Ex.:
NomeSexo = ((VarSexo == "M") ? "Masculino" : "Feminino")
OBS:
Nos comandos FOR e WHILE a diretiva "break" pode ser utilizada para
interromper a condio principal e sair do loop. Da mesma forma, a diretiva
"continue" interrompe uma ao (se determinada condio ocorrer), mas volta
para o loop.
Diretivas/condies entre [ ] significam que so opcionais.
12
4 Eventos
So fatos que ocorrem durante a execuo do sistema, a partir dos quais o
programador pode definir aes a serem realizadas pelo programa.
Abaixo apresentamos a lista dos eventos possveis, indicando os momentos em
que os mesmos podem ocorrer, bem como, os objetos passveis de sua
ocorrncia.
onload - Ocorre na carga do documento. Ou seja, s ocorre no BODY do
documento.
onunload - Ocorre na descarga (sada) do documento. Tambm s ocorre no
BODY.
onchange - Ocorre quando o objeto perde o foco e houve mudana de contedo.
Vlido para os objetos Text, Select e Textarea.
onblur - Ocorre quando o objeto perde o foco, independente de ter havido
mudana.
Vlido para os objetos Text, Select e Textarea.
onfocus - Ocorre quando o objeto recebe o foco.
Vlido para os objetos Text, Select e Textarea.
onclick - Ocorre quando o objeto recebe um Click do Mouse.
Vlido para os objetos Buton, Checkbox, Radio, Link, Reset e Submit.
onmouseover - Ocorre quando o ponteiro do mouse passa por sobre o objeto.
Vlido apenas para Link.
onselect - Ocorre quando o objeto selecionado.
Vlido para os objetos Text e Textarea.
onsubmit - Ocorre quando um boto tipo Submit recebe um click do mouse.
Vlido apenas para o Form.
Exemplo:
Crie uma pgina com o nome Eventos.html e insira este cdigo nela:
13
<html>
<body>
<a href="ColegiadoOrgaoManutencao.html"
onMouseOver="window.status='Curso de Java Script'; return
true"> Cadastro do Conselho </a>
</body>
</html>
Abra esta pgina com o seu navegador e veja o resultado. Posicione o mouse sob
o link e olhe para a barra de status na parte de baixo do seu browser.
A nica coisa que voc tem que fazer acrescentar a propriedade onMouseOver
ao seu tag de link <a>. O 'window.status' lhe permitir escrever coisas na barra de
status do seu browser. Como se pode ver, voc tem que alterar as aspas. Voc
no vai poder usar " todo o tempo, porque se no o JavaScript no ser capaz de
identificar a seqncia que voc quer imprimir na barra de status. Depois da
seqncia voc tem que escrever ;return true.
14
5 Criando variveis
A varivel criada automaticamente, pela simples associao de valores a
mesma.
Exemplo:
novaVariavel = "Jose"
Foi criada a varivel de nome novaVariavel que, passou a conter a string Jose.
As variveis podem ser Locais ou Globais. As variveis que so criadas dentro
de uma funo so Locais e referenciveis apenas dentro da funo. As variveis
criadas fora de funes so Globais, podendo ser referenciadas em qualquer parte
do documento.
Desta forma, variveis que precisam ser referenciadas por vrias funes ou em
outra parte do documento, precisam ser definidas como globais.
Embora no seja recomendvel, em uma funo, pode ser definida uma varivel
local com o mesmo nome de uma varivel global. Para isso utiliza-se o mtodo de
definio var.
Exemplo:
Varivel Global J MinhaVariavel = ""
Varivel Local J var MinhaVariavel = ""
15
6 Escrevendo no documento
O JavaScript permite que o programador escreva linhas dentro de uma pgina
(documento), atravs do mtodo write. As linhas escritas desta forma, podem
conter textos, expresses JavaScript e comandos Html. As linhas escritas atravs
deste mtodo aparecero no ponto da tela onde o comando for inserido.
Vamos falar sobre o objeto document.write().
O objeto
Mtodo do objeto documento:
O arquivo HTML que aparece na janela do browser um objeto tipo document.
A cada objeto Javascript, o programador da linguagem previu um conjunto de
mtodos - ou funes dedicadas a este objeto. Para document, o Javascript
dedicou o mtodo 'escrever no documento', conhecido como o mtodo write().
A chamada do mtodo faz-se segundo a notao:
nome_do_objeto.nome_do_mtodo
Mtodo write()
A sintaxe bastante simples
write("seu texto");
Pode-se tambm escrever uma varivel, seja a varivel resultado,
write(resultado);
Para associar texto (cadeia de caracteres) e variveis, utiliza-se instruo:
write("O resultado " + resultado);
16
Podem-se utilizar os tags Html para incrementar o texto:
write("<B>O resultado </B>" + resultado); ou
write ("<B>" + "O resultado " + "</B>" + resultado)
Exemplos:
<script>
valor = 30
document.write ("Minha primeira linha")
document.write ("Nesta linha aparecer o resultado de : "
+ (10 * 10 + valor))
</script>
<script>
valor = 30
document.write ("<p>Minha primeira linha</p>")
document.write ("<p>Nesta linha aparecer o resultado de
: " + (10 * 10 + valor) + "</p>")
</script>
Isto resolve a questo da mudana de linha, porm, vai gerar uma linha em
branco, entre cada linha, por se tratar de mudana de pargrafo. Caso no seja
desejada a existncia da linha em branco, a alternativa utilizar o comando Html
<br> que apenas muda de linha.
<script>
valor = 30
document.write ("<br>Minha primeira linha")
document.write ("<br>Nesta linha aparecer o resultado
de : " + (10 * 10 + valor) )
</script>
17
O problema
O objeto 'document.write()' limpa todo o documento antes de imprimir algo na
tela.
Para solucionar este problema utilizaremos o objeto window. Com esse simples
parmetro adicional, 'window-janela' no objeto, ele se torna muito til, alm de
no mais limpar a tela para imprimir.
Exemplo:
<html>
<head>
<script language="Java Script">
window.document.write("Sem limpar...");
</script>
</head>
<body>
o documento...
</body>
</html>
18
7 Mensagens
Existem trs formas de comunicao com o usurio atravs de mensagens.
Apenas Observao.
alert ( mensagem )
Exemplo:
alert ("Certifique-se de que as informaes esto
corretas")
Mensagem que retorna confirmao de OK ou CANCELAR
confirm (mensagem)
Exemplo:
if (confirm ("Algo est errado...devo continuar??")){
alert("Continuando")
}else {
alert("Parando")
}
Recebe mensagem via caixa de texto Input
Receptor = prompt ("Minha mensagem", "Meu texto")
Onde:
Receptor o campo que vai receber a informao digitada pelo usurio.
Minha mensagem a mensagem que vai aparecer como Label da caixa de input
Meu texto um texto, opcional, que aparecer na linha de digitao do usurio.
Ex.
Entrada = prompt ("Informe uma expresso matemtica", "")
Resultado = eval (Entrada)
document.write("O resultado = " + Resultado)
19
8 Funes
Uma funo um set de instrues, que s devem ser executadas quando a
funo for acionada.
A sintaxe geral a seguinte:
function NomeFuno (Parmetros){
Ao
}
Suponha uma funo que tenha como objetivo informar se uma pessoa maior ou
menor de idade, recebendo como parmetro a sua idade.
function Idade (Anos) {
if(Anos > 17) {
alert ("Maior de Idade")
}else{
alert ("menor de Idade")
}
}
Para acionar esta funo, suponha uma caixa de texto, em um formulrio, na qual
seja informada a idade e, a cada informao, a funo seja acionada.
<form>
<input type=text size=2 maxlength=2 name="Tempo"
onchange="Idade(Tempo.value)">
</form>
Observe-se que o parmetro passado (quando ocorre o evento "onchange") foi o
contedo da caixa de texto "Tempo" (propriedade "value") e que, na funo,
chamamos de "Anos". Ou seja, no existe co-relao entre o nome da varivel
passada e a varivel de recepo na funo. Apenas o contedo passado.
20
Date()
21
Datas
Existe apenas uma funo para que se possa obter a data e a hora. a funo
Date (). Esta funo devolve data e hora no formato: Dia da semana, Nome do
ms, Dia do ms, Hora: Minuto: Segundo e Ano.
Exemplo:
22
23
10 Manipulando Arrays
Para trabalhar com arrays necessria a criao de um objeto com a propriedade
de criao de um array.
No exemplo abaixo, criaremos um objeto tipo array de tamanho varivel e com a
funo de "limpar" o contedo das variveis cada vez que uma nova instncia seja
criada a partir dele.
function CriaArray (n) {
this.length = n
for (var i = 1 ; i <= n ; i++) {
this[i] = ""
}
}
Agora podemos criar novas instncias do objeto "CriaArray" e aliment-los com os
dados necessrios.
NomeDia = new CriaArray(7)
NomeDia[0] = "Domingo"
NomeDia[1] = "Segunda"
NomeDia[2] = "Tera"
NomeDia[3] = "Quarta"
NomeDia[4] = "Quinta"
NomeDia[5] = "Sexta"
NomeDia[6] = "Sbado"
Atividade = new CriaArray(5)
Atividade[0] = "Analista"
Atividade[1] = "Programador"
Atividade[2] = "Operador"
Atividade[3] = "Conferente"
Atividade[4] = "Digitador"
Agora poderemos obter os dados diretamente dos arrays.
DiaSemana = NomeDia[4]
Ocupao = Atividade[1]
DiaSemana passaria a conter Quinta e Ocupao conteria Programador.
Outra forma de se trabalhar com arrays criar novas instncias dentro do prprio
objeto do array, o que proporciona o mesmo efeito de se trabalhar com matriz.
Isso pode ser feito da seguinte forma:
24
function Empresas (Emp, Nfunc, Prod) {
this.Emp = Emp
this.Nfunc = Nfunc
this.Prod = Prod
}
TabEmp = new Empresas(3)
TabEmp[1] = new Empresas("Elogica", "120", "Servios")
TabEmp[2] = new Empresas("Pitaco", "35", "Software")
TabEmp[3] = new Empresas("Corisco", "42", "Conectividade")
Assim, poderemos obter a atividade da empresa nmero 3, cuja resposta seria
Conectividade, da seguinte forma:
Atividade = TabEmp[3].Prod
Obs:
importante lembrar que, embora os exemplos estejam com indexadores fixos, os
indexadores podem ser referncias ao contedo de variveis.
25
11.1
O Objeto FORM
11.2
26
elemento de texto. Um script pode apanhar e definir seu contedo a qualquer
momento. O contedo de uma propriedade value sempre uma string.
Poder ser usado os mtodos de manipulao de Strings juntamente com a
propriedade value, verificar captulo 9.
Sintaxe:
var texto;
texto = document.nomeFormulario.nomeCampoTexto.value;
27
Sintaxe:
document.nomeFormulario.nomeCampoTexto.focus();
11.3
O Objeto de boto
11.4
28
Sintaxe:
document.nomeFormulario.campoCheckbox.blur();
c) Mtodo focus do objeto Checkbox
Simula o evento de focalizao do objeto, ou seja, passa o foco para o objeto
em questo.
Sintaxe:
document.nomeFormulario.campoCheckbox.focus();
11.5
a) Propriedade length
Usado para descobrir quantos botes existem em um determinado grupo.
Sintaxe:
document.form_org.nomeGrupo.length;
29
b) Propriedade checked
Para descobrir se um boto especfico est atualmente marcado ter que
acessar o elemento de boto individualmente.
Sintaxe:
document.form_org.nomeGrupo[0].checked;
a) Propriedade selectedIndex
Retorna o nmero de ndice do item atualmente selecionado. O primeiro
item (no topo da lista) possui um ndice zero. O valor de selectedIndex
fundamental para permitir que voc acesse propriedades da opo
selecionada.
Sintaxe:
document.form_org.nomeSelecao.selectedIndex;
30
b) Propriedade text
A propriedade text a String que aparece na tela, no objeto Select.
Sintaxe:
document.form_org.nomeSelecao.options[n].text;
c) Propriedade value
A propriedade value permite a leitura da string oculta de cada tag Option
definida.
Sintaxe:
document.form_org.nomeSelecao.options[n].value;
Onde:
n = ndice da lista;
31
32
a) Mtodo back
Restaura a ltima informao registrada no histrico sobre o contedo
apresentado nos frames de uma janela do navegador. o mesmo que
pressionar o boto Voltar (Back) da barra de ferramentas do navegador.
Sintaxe:
window.back();
b) Mtodo close()
Fecha a janela especificada se ela foi aberta usando o mtodo open ou se
o seu histrico estiver vazio, nenhum aviso ser gerado. Em todos os outros
casos, ser gerada uma mensagem de confirmao de seu fechamento.
Sintaxe:
window.close();
33
c) Mtodo open()
Abre uma nova janela.
Este mtodo contm at trs parmetros que definem a caractersticas da
janela, como o URL do documento a ser carregado, seu nome para fins de
referncia do atributo TARGET em tags HTML e aparncia fsica (tamanho
e etc).
Sintaxe:
var varJanela = window.open(URL, nomeJanela
[,propriedades] );
Exemplo:
var novaJanela = window.open(janelaNova.html,
Minha Janela, height=200, width=300);
d) Mtodo print()
Imprime o contedo da janela em questo.
Sintaxe:
window.print();
34
14 Exerccios
1) Criar uma nova pgina chamada script1.html que realize as seguintes
tarefas:
a) Fazer uma funo que subtraia dois valores quaisquer e apresent-las
em uma mensagem de alerta com a seguinte frase: A subtrao de ? e
? igual ? .
Substitua o sinal ? dado no exemplo, pelos valores de sua escolha e seu
resultado respectivamente.
35
36
6) Crie uma pgina chamada script6.html e realize as seguintes tarefas:
a) Criar um boto chamado Unesp
b) Este boto dever chamar uma funo que dever abrir uma nova
pgina com o endereo do site da Unesp.
c) A aparncia fsica da janela dever ter barra de rolagem, altura de
400 e largura de 500.