Escolar Documentos
Profissional Documentos
Cultura Documentos
A Linguagem JavaScript
!
!
!
ELFS, 2003
102
A Linguagem JavaScript
!
103
A Linguagem JavaScript
!
ELFS, 2003
break
case
continue
default
delete
do
else
export
for
function
if
import
in
new
return
switch
this
typeof
var
void
while
with
104
A Linguagem JavaScript
!
Neste caso, a funo alert() ir exibir uma caixa de dilogo que mostra "o
valor da varivel 5". At este ponto a varivel x do tipo inteiro (pois
armazena um valor inteiro). A nova atribuio faz com que a varivel x passe
a ser do tipo string. O parmetro da funo alert um string. Observe que a
converso do valor inteiro 5 para o string "5" (para que possa ser
concatenado ao string "o valor da varivel ") automtica. Observe que
strings podem ser delimitados por aspas ( " ) ou por apstrofos ( ' ).
Uma varivel pode armazenar tambm uma referncia a um objeto. Neste
caso, podemos acessar todas as propriedades e mtodos desse objeto a partir
da varivel. Exemplo:
var x = new Date();
alert(x.getTime());
105
A Linguagem JavaScript
!
ELFS, 2003
A Linguagem JavaScript
!
9.5
9.6
Ana Lcia
10.0
9.1
Andr Luiz
9.7
9.2
Andresa
9.8
8.7
Cilmara
8.9
10.0
ELFS, 2003
nomes
'Ana Cristina';
'Ana Lcia';
'Andr Luiz';
'Andresa';
'Cilmara';
// coluna da
nota[0][1] =
nota[1][1] =
nota[2][1] =
nota[3][1] =
nota[4][1] =
nota 1
'9.5';
'10.0';
'9.7';
'9.8';
'8.9';
// coluna da
nota[0][2] =
nota[1][2] =
nota[2][2] =
nota[3][2] =
nota[4][2] =
nota 2
'9.6';
'9.1';
'9.2';
'8.7';
'10.0';
107
A Linguagem JavaScript
!
Uma varivel tem escopo global se for definida fora de qualquer funo. Neste
caso, a varivel pode ser usada em qualquer parte do programa, a partir do
ponto em que foi definida. Quando definimos uma varivel dentro de uma
funo, essa varivel ter escopo local, significando que poder ser usada
somente dentro dessa funo.
Para inserir um script JavaScript em uma pgina HTML, devemos utilizar um
dos seguintes tags:
<SCRIPT type="text/javascript">
Cdigo do script
</SCRIPT>
ou
<SCRIPT language="javascript">
Cdigo do script
</SCRIPT>
ELFS, 2003
108
A Linguagem JavaScript
!
ELFS, 2003
109
A Linguagem JavaScript
!
possvel tambm colocar scripts em arquivos externos, que devem ser salvos
com a extenso js. Para isso, deve-se colocar dentro do tag de script o
parmetro src = "nome do arquivo". Considere, por exemplo, o
seguinte arquivo:
exemplo2.js
document.write(
"<p><h2>Obrigado por sua visita nossa pgina" +
"</p></h2><FONT size='+2' color='blue'>" +
"Ofertas da semana</FONT>" +
"<ul><li>Livros e revistas</li>" +
"
<li>Discos e fitas</li>" +
"
<li>Material de papelaria</li>" +
"
<li>Outras ofertas</li>" +
"</ul>" +
"<p><i>As ofertas acima sero mantidas at </i>" +
"<b>31/12/2003</b>" +
"<i> ou at enquanto durarem os estoques.</i></p>" +
"<p>Resposta a ser enviada para: " +
"<a href='mailto:elfsenne@feg.unesp.br'>" +
"elfsenne@feg.unesp.br</a></p>");
ELFS, 2003
110
A Linguagem JavaScript
aula04_02.htm
<HTML>
<HEAD><TITLE>Programao JavaScript</TITLE></HEAD>
<BODY>
<SCRIPT type="text/javascript" src="exemplo2.js"></SCRIPT>
</BODY>
</HTML>
Resulta em:
ELFS, 2003
111
A Linguagem JavaScript
!
ELFS, 2003
112
A Linguagem JavaScript
aula04_03.htm
<HTML>
<HEAD>
<TITLE>Programao JavaScript</TITLE>
</HEAD>
<BODY>
<TABLE WIDTH="90" BORDER="2" CELLSPACING="2" CELLPADDING="0">
<SCRIPT language="JavaScript">
var val,tag,cor;
for (val = 1; val <= 10; val++)
{
if (val % 2 == 0)
{
cor="<FONT color='blue'>";
tag = "B";
}
else
{
cor="<FONT color='red'>";
tag = "I";
}
document.writeln ("<TR><TD WIDTH='100%'><" + tag + ">" + cor +
val + "*2 = " + val*2 + "</FONT></" + tag + "></TD></TR>");
}
</SCRIPT>
</TABLE>
</BODY>
</HTML>
ELFS, 2003
113
A Linguagem JavaScript
!
<HTML>
<HEAD><TITLE>Exemplo de Funo JavaScript</TITLE></HEAD>
<BODY>
<SCRIPT language="JavaScript">
function Maior_Valor (i, j)
{
if (i > j)
return i;
else
return j;
}
var i = 1;
var j = 2;
document.writeln ("O maior valor entre "+ i +" e " + j + " e' " +
Maior_Valor(i,j));
</SCRIPT>
</BODY>
</HTML>
ELFS, 2003
114
A Linguagem JavaScript
!
Como um tag de script pode ser inserido tanto dentro do cabealho (HEAD)
como dentro do corpo (BODY) de um documento HTML, o cdigo acima
poderia ter sido implementado separando a definio da funo (que deve ser
feita dentro do cabealho), do restante do script, ou seja:
<HTML>
<HEAD><TITLE>Exemplo de Funo JavaScript</TITLE>
<SCRIPT type="text/javascript">
function Maior_Valor (i, j)
A definio de funes deve ser feita
{
dentro do cabealho, para que a
if (i>j)
funo seja definida antes de ser
return i;
executada.
else
return j;
}
</SCRIPT>
</HEAD>
<BODY>
<SCRIPT type="text/javascript">
var i = 1;
var j = 2;
document.write("O maior valor entre " + i + " e " + j + " e' " +
Maior_Valor(i,j));
O uso de funes deve ser feito dentro do corpo
</SCRIPT>
do documento, pois a funo j vai estar
</BODY>
definida quando o corpo do documento for
</HTML>
carregado.
ELFS, 2003
115
A Linguagem JavaScript
Exerccio: Escrever um script que gere a tabela ao lado, utilizando
uma funo tabuada(n) que recebe como parmetro um inteiro e
mostra a tabuada deste inteiro. Note que, neste caso, a funo
no deve retornar valor algum. Implementar o script separando a
definio da funo (que deve ser feita no cabealho do
documento) de sua chamada (que deve estar no corpo do
documento).
aula04_05.htm
ELFS, 2003
116
A Linguagem JavaScript
window
window
history
history
navigator
navigator
document
document
frames
location
location
document
document
forms
button
button
radio
radio
checkbox
checkbox
reset
reset
text
text
submit
submit
textarea
textarea
hidden
hidden
password
password
select
select
Legenda
objeto
objeto
array
ELFS, 2003
117
A Linguagem JavaScript
!
O objeto window
! O objeto window representa a janela do navegador e, portanto, permite uma
interao entre o script e o ambiente no qual ele est sendo executado. A
linguagem JavaScript possui algumas variveis que so referncias a um
objeto window. Algumas dessas variveis so: top, self e parent. A
varivel top refere-se ao objeto window representando toda a janela visvel
do navegador, independente de seu contedo. A varivel self refere-se ao
objeto window no qual o script est mais diretamente contido.
ELFS, 2003
118
A Linguagem JavaScript
!
!
ELFS, 2003
119
A Linguagem JavaScript
!
<html>
<head>
<title>Janela I</title>
</head>
<body>
<h4>Esta a Janela I</h4>
<form>
<input type="button" value="Novo Documento"
onclick="window.location='aula04_07b.htm?nome=Senne#inicio'">
</form>
</body>
</html>
ELFS, 2003
120
A Linguagem JavaScript
aula04_07b.htm
<html>
<head><title>Janela II</title>
</head>
<body>
<h4>Agora voc est na Janela II</h4>
<form>
<input type="button" value="Novo Documento"
onclick="window.location.href='aula04_07a.htm'">
</form>
<script language="javascript">
document.write("Parmetro: " + window.location.search + "<br>");
document.write("Hash_String: " + window.location.hash + "<br>");
document.write("URL: " + window.location.href + "<br>");
document.write("Path da URL: " + window.location.pathname + "<br>");
document.write("Host: " + window.location.host + "<br>");
document.write("Nome do host: " + window.location.hostname + "<br>");
document.write("Porta: " + window.location.port + "<br>");
document.write("Protocolo: " + window.location.protocol + "<br>");
</script>
</body>
</html>
121
A Linguagem JavaScript
!
ELFS, 2003
122
A Linguagem JavaScript
"
<html>
<head>
<title>Testando frameset</title>
</head>
<frameset rows = "50%,*">
<frame name="main" src="aula04_09a.htm">
<frame name="sub1" src="aula04_09b.htm">
</frameset>
</html>
123
A Linguagem JavaScript
!
aula04_09a.htm
<html>
<head>
<title>Teste</title>
<script language=JavaScript>
function troca ()
{
parent.sub1.document.location = "aula04_09c.htm";
}
</script>
</head>
<body>
<a href="javascript:void(0)" onClick="troca()">
Clique aqui</a>
</body>
</html>
aula04_09b.htm
<html>
<head>
<title>Teste</title>
</head>
<body>
Voc est na pgina SUB1!
</body>
</html>
ELFS, 2003
aula04_09c.htm
<html>
<head>
<title>Teste</title>
</head>
<body>
Agora, voc est na pgina SUB2!
</body>
</html>
124
A Linguagem JavaScript
"
"
ELFS, 2003
A Linguagem JavaScript
menubar (barra de menu) = yes/no
#
scrollbars (barra de rolagem) = yes/no
#
resizable (redimensionabilidade) = yes/no
#
width (largura) = n (pixels)
#
height (altura) = m (pixels)
Caso alguma destas caractersticas no seja explicitada, o navegador utilizar
um valor padro. O nome da janela pode ser utilizado com o atributo TARGET,
caso se crie um link em uma janela desejando que o arquivo seja carregado
em outra janela. O cdigo a seguir cria uma janela denominada Janela1 e
carrega o documento aula04_01.htm. A nova janela apresenta as seguintes
caractersticas: no possui barra alguma, tem as dimenses 500 200 pixels,
mas pode ser redimensionada.
#
aula04_11.htm
<html>
<head><title>Abrindo Novas Janelas</title></head>
<body>
<script type="text/javascript">
window.open("aula04_01.htm","Janela1",
"toolbar=no,location=no,directories=no,"+
"status=no,menubar=no,scrollbars=no,"+
"resizable=yes,width=500,height=200");
</script>
</body></html>
ELFS, 2003
126
A Linguagem JavaScript
"
<html>
<head>
<title>Abrindo Novas Janelas</title>
</head>
<body>
<form>
<input type="button" value="Fechar" onClick="Janela1.close()">
</form>
<script type="text/javascript">
Janela1=window.open("aula04_01.htm","Janela1",
"toolbar=no,location=no,directories=no,"+
"status=no,menubar=no,scrollbars=no,"+
"resizable=yes,width=500,height=200");
</script>
</body>
</html>
Neste exemplo desejamos fechar a nova janela aberta. Para isso, ao abri-la,
temos que atribuir essa nova janela a um objeto (Janela1) para ser possvel
escrever Janela1.close(). Observe que se fizermos window.close()
estaremos nos referindo janela principal e no nova janela aberta.
ELFS, 2003
127
A Linguagem JavaScript
"
<html>
<head>
<title>Mensagem de Alerta</title>
</head>
<body>
<script type="text/javascript">
alert("Esta e' uma caixa de alerta");
</script>
</body>
</html>
"
ELFS, 2003
128
A Linguagem JavaScript
"
ELFS, 2003
129
A Linguagem JavaScript
!
Neste caso, embora as variveis num1 e num2 sejam strings, elas sero
usadas como nmeros no comando num3=num1*num2, pois o operador * se
aplica apenas a nmeros. Neste caso, portanto, o valor de num3 ser,
corretamente, igual a 12. Mas considere que ao invs de multiplicar
desejamos somar as variveis num1 e num2. Nesse caso, se escrevermos:
var num1=3;
var num2=4;
var num3=num1+num2;
o valor de num3 ser "34" porque o operador + ser entendido como uma
concatenao e no como uma soma. Em casos assim ser importante realizar
a converso de string para nmero.
Note que fazemos num-0 e no num+0 exatamente para que a operao no seja
confundida com uma concatenao.
ELFS, 2003
130
A Linguagem JavaScript
!
ELFS, 2003
131
A Linguagem JavaScript
!
ELFS, 2003
132