Académique Documents
Professionnel Documents
Culture Documents
Apostila Javascript
Javascript
Caso sensitivo
Ateno
Na linguagem Javascript voc deve prestar muita ateno na hora de digitar seu cdigo fonte, pois, o
Javascript caso sensitivo, ou seja, ele diferencia letras maisculas de minsculas. Por exemplo, as palavras
histria, Histria e HISTRIA so palavras diferentes.
Por exemplo, veja este cdigo abaixo:
Texto="A raiz quadrada de 9 3"
document.write(Texto)
As palavras Texto edocument.writeesto corretos, porm, se voc alterar o cdigo fonte com letras
maisculas e minsculas,causar erros no cdigo fonte. Observe:
Texto="A raiz quadrada de 9 3"
Document.Write(TEXTO)
As palavras TEXTO eDocument.Writeestoerrados,causando erros. O computadornoreconhece estas
palavras. Na hora em que digitar o cdigo fonte preste bastante ateno nas letras maisculas e minsculas,
por causa de uma letra pode causar erros.
Editor de texto
Editor de texto apenas um processador de texto que usado para digitar o programa. O texto resultante
conhecido como cdigo fonte.
O editor de texto um software que permite ao usurio selecionar trechos de um arquivo, alterar, apagar ou
adicionar testo ao cdigo-fonte.
Cdigo-Fonte
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
1/154
14/8/2014
Apostila Javascript
Cdigo-fonte uma seqncia de instrues numa linguagem de programao. O cdigo-fonte escrito por
um programador.
Este mesmo cdigo traduzido por um outro programador que pode ser pelo navegador no caso do
Javascript, pelo servidor no caso do PHP, ou pelo compilador no caso Java.
O cdigo-fonte o cdigo bsico de um programa.
2/154
14/8/2014
Apostila Javascript
Corpo do programa
Basicamente, a sintaxe do corpo do programa consiste em:
<script>
// Contedo
</script>
OU:
<script language="javascript">
// Contedo
</script>
<html>
<head>
<title>Arquivo externo</title>
</head>
<body>
<script language="javascript" src="teste.js">
</script>
</body>
</html>
3/154
14/8/2014
Apostila Javascript
Para incluir um arquivo externo ao documento use o comando src, no exemplo acima o arquivo externo
"teste.js". Devemos sempre salvar este arquivo externo com a extenso js.
Abra o editor de texto de novo e copie este arquivo abaixo:
Comentrios
Comentrio uma breve nota de explicao inseridas em um programa para descrever o que ele far.
Os programadores usam comentrios em seus programas para que outros programadores (e ele prprio)
entendam o que o programa faz e como funciona.
Os comentrios geralmente descrevem o que o programa faz, quem o seu autor, por que ele foi alterado, e
assim por diante. A maioria das linguagens de programao usa uma sintaxe prpria para a especificao de
comentrios, de modo que os comentrios sejam ignorados pelo compilador.
Os comentrios no so analisados pelo programa.
Os comentrios podem ocupar uma ou vrias linhas. Veja o exemplo abaixo:
4/154
14/8/2014
Apostila Javascript
Exemplo:
<script language="javascript">
//Comentrio de uma linha
//Exemplo 1
//Exemplo 2
//Exemplo 3
</script>
<script language="javascript">
/*
Comentrio
com mais de
uma linha
*/
/*
Exemplo 1
Exemplo 2
Exemplo 3
*/
</script>
5/154
14/8/2014
Apostila Javascript
s vezes necessitamos informar algo entre aspas dentro de uma string. Isto pode ser resolvido alterando-se
aspas duplas e simples. Isto usado em Javascript e PHP, veja o exemplo em Javascript.
<script>
document.write("<img src='Teste.gif'>")
</script>
Outro exemplo:
<input Type="button" name="teste" value="Clique Aqui" onclick="alert('Exemplo de Aspas')">
Inserindo um texto
Para inserir um texto no programa use o comando document.write, veja o exemplo abaixo:
<script language="javascript">
document.write("A raiz quadrada de 9 3<br>")
document.write("A soma de 5 + 4 igual a 9 <br>")
document.write("6 dividido por 3 igual a 2 <br>")
</script>
Editando um texto
Para editar um texto externamente basta usar o comando leia:
<html>
<head>
<title>Idade</title>
</head>
<body>
<form name="frm_teste">
Digite seu nome:<input type="text" name="nome"><br>
Digite sua idade:<input type="text" name="idade"><br />
<input type="button" value="Resultado" onClick="idadex()">
</form>
<script language="javascript">
function idadex() {
var nome = document.frm_teste.nome.value
var idade = document.frm_teste.idade.value
alert("meu nome " + nome + " e tenho " + idade + " anos.")
}
</script>
</body>
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
6/154
14/8/2014
Apostila Javascript
</html>
Caracteres especiais
Dentro de uma string de texto, podem ser especificado caracteres especiais mostrados a seguir:
Hfen
\'
Aspas
\"
Barra invertida
\\
Nova linha
\n
Marca de tabulao \t
Retorno de carro
\r
Backspace
\b
Exemplo:
<script language="javascript">
document.write("<pre>")
document.write("\tO livro: \"Manual Prtico do ")
document.write("Programador\". \nEst nas livrarias ")
document.write("e \\ ou jornaleiros. ")
document.write("</pre>")
</script>
Resultado:
O livro: "Manual Prtico do Programador".
Est nas livrarias e \ ou jornaleiros.
Tipos de variveis
Variveis so smbolos que representa um valor numrico ou string usada no programa. O uso de variveis
d ao programador flexibilidade para mudar o valor a qualquer momento no programa, mesmo que a
princpio parea no ser necessrio este tipo de flexibilidade.
O contedo de uma varivel pode mudar a qualquer momento.
Por exemplo, uma varivel chamado cheque poderia conter o nmero 12, mas o programa teria condies
de modificar esse valor a qualquer momento.
O nome de uma varivel pode comear com uma letra ou sublinhado "_" seguido de nmeros ou letras sem
espao. Veja alguns exemplos de nomes vlidos:
nome
Conta_pag
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
7/154
14/8/2014
Apostila Javascript
z01
_cod
Varivel String
Varivel String um conjunto contnuo de caracteres alfanumricos que no contm nmeros usados para
clculos. Nomes, endereos, palavras e frases so strings. Esses caracteres podem ser as letras maisculas,
as letras minsculas, os nmeros e os caracteres especiais (&, #, @, ?, + ). Exemplos:
"aluno"
"1234"
"@ internet"
"0.34"
"1 + 2"
Observao: os dados do tipo literal na linguagem de programao so sempre representados entre aspas
duplas(") ou aspas simples (').
Variveis Numricas
Os dados numricos dividem-se em dois grupos: inteiros e reais.
Os nmeros inteiros podem ser positivos ou negativos e NO possuem parte decimal. Este tipo de dado
armazenado na memria do computador, exemplos:
-23
98
0
1350
-257
237
-2
Os nmeros reais podem ser positivos ou negativos e possuem parte decimal. Este tipo de dado
armazenado na memria do computador, exemplo:
23.45
346.98
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
8/154
14/8/2014
Apostila Javascript
-34.88
0.0
-247.0
Observao: na linguagem de programao, a separao entre a parte inteira e a parte decimal de um
nmero feita pelo ponto (.), e a simples presena do ponto j significa que um nmero real.
Variveis Booleanas
Varivel Booleana uma expresso cujo resultado s pode ser verdadeiro (true) ou falso (false).
As variveis booleanas so mais usadas em:
Estrutura de deciso: If, Case e Ternrio;
Operadores relacionais: >, <, >= , <= , ==, != ;
Operadores booleanos: and, or, not.
Este tipo de varivel, quando armazenado na memria do computador, ocupa 1 byte, pois possui apenas
duas possibilidades de representao: true ou false.
Exemplo:
Expresso
Resultado
Significado
teste=true
verdadeiro
x=false
falso
y=true
verdadeiro
a=4<2
a=false
falso
b=8>3
b=true
verdadeiro
c=(3>2)&&(5<4)
c=false
falso
d=(3>4)||(5<4)
d=true
verdadeiro
Comando de atribuio
O primeiro operador que voc deve conhecer o de atribuio "=". Ele atribui o contedo da expresso
sua direita para a varivel do seu lado esquerdo.
x=30
y=10/2 + 6
z=true
a="texto"
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
9/154
14/8/2014
Apostila Javascript
Regras bsicas
Para criar uma varivel, a varivel deve obedecer as seguintes regras:
1. O primeiro caractere deve ser sempre uma letra ou um caractere sublinhado (_).
2. Os caracteres que voc pode utilizar na formao das variveis so: os nmeros, as letras maisculas,
as letras minsculas e o caractere sublinhado (_).
3. No permitido acentuao (acento grave, acento agudo, acento circunflexo, trema e til), por
exemplo: Antnio, mamo, difcil, cinqenta, etc.
Dependendo da linguagem de programao usado pelo programador (ASP, Java, PHP, Javascript, Delphi,
Visual Basic e outros) cada linguagem recebe regras de programao diferente, por exemplo:
1. As variveis podem ter qualquer tamanho. Entretanto, apenas os 63 primeiros caracteres so
utilizados pelo compilador.
2. Dependendo da linguagem de programao, a varivel pode ser sensvel, ou no, a letras maisculas
ou minsculas, isto se chama "caso sensitivo".
O Javascript, por exemplo,faz diferenciao entre letras maisculas e minsculas; portanto a varivel NUM
exatamente diferente a varivel num;
Observao: algumas linguagens de programao so sensveis caixa alta e caixa baixa, um exemplo disso
o Java, "Ol" e "OL" so duas palavras totalmente diferentes. O Delphi por exemplo no sensvel a
caixa, "abc" exatamente igual a "ABC".
3. No podemos usar palavras reservadas em variveis.
Palavras reservadas so nomes utilizados pelo compilador para representar comandos de controle do
programa, operadores e nomes de sees de programas. As palavras reservadas da linguagem Pascal so:
(veja a tabela abaixo)
Exemplos de variveis vlidos:
A
a
nota
NOTA
x5
A32
Nota_1
MATRICULA
nota_1
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
10/154
14/8/2014
Apostila Javascript
dia
IDADE
12
x-y
prova 2n
nota(2)
case
Set
matrcula
Obs: matrcula com acento no .
Resolva os exerccios abaixo:
Exerccio 1: Identifique o tipo dos dados:
(a) numrico inteiro;
(b) numrico real;
(c) lgico;
(d) string.
(c) true
(b) 45.0
(a) 1234
(b) 0.0
(d) "aula"
(a) -234
(b) -0.342
(b) 35.23
(d) "34"
(b) -18.589
(b) -354.0
(b) -15.2
(c) false
(a) 0
(a) 897
(d) "false"
(a) -23
Concatenao
Concatenar: Reunir duas strings de caracteres em um s por exemplo, combinar as duas strings "bom" e "dia"
formando uma nica string "bom dia".
<script language="javascript">
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
11/154
14/8/2014
Apostila Javascript
// Exemplo 1:
Variavel="Texto1 " + "Texto2" + "<br>"
document.write(Variavel)
// Exemplo 2:
String1="Isto "
String2="um texto"
String3="<br>"
String4=String1 + String2 + String3
document.write(String4)
// Exemplo 3
Nome="Jos "
Sobrenome="Antnio"
document.write("Meu nome : " + Nome + Sobrenome)
</script>
12/154
14/8/2014
Apostila Javascript
Altura=document.frm_teste.Altura.value
Largura=document.frm_teste.Largura.value
Area= parseFloat(Altura) + parseFloat(Largura)/2
alert(Area)
}
</script>
Os valores Largura e Altura so valores strings e Area um valor numrico. No exemplo acima usamos os
formulrios Altura e Largura, os valores Largura e Altura so valores strings enquanto Area um valor
numrico.
Se efetuarmos os clculos Area = Altura * Largura/2 sem converter string em numrica geraramos erros de
programao.
O correto Area=parseFloat(Altura) * parseFloat(Largura)/2.
Exerccio 1: Use a calculadora abaixo:
<html>
<head>
<title>Calculadora</title>
<script language="javascript">
function calcula(form,op) {
var op1 = eval(form.campo1.value);
var op2 = eval(form.campo2.value);
if (op==0){
res=op1+op2;
}else if (op==1){
res=op1-op2;
}else if (op==2){
res=op1*op2;
}else if (op==3){
res=op1/op2;
}
form.resultado.value=res;
}
</script>
</head>
<body>
<form>
<input type="text" name="campo1">
<input type="text" name="campo2"><br>
<input type="button" value="+" onClick="calcula(this.form,0)">
<input type="button" value="-" onClick="calcula(this.form,1)">
<input type="button" value="*" onClick="calcula(this.form,2)">
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
13/154
14/8/2014
Apostila Javascript
<html>
<head>
<title>Calculadora</title>
<script language="javascript">
function processa1() {
d = eval(document.calculo.campo1.value)+
eval(document.calculo.campo2.value)+
eval(document.calculo.campo3.value)
document.calculo.campo4.value=d
}
function processa2() {
d = eval(document.calculo.campo1.value)*
eval(document.calculo.campo2.value)*
eval(document.calculo.campo3.value)
document.calculo.campo4.value=d
}
</script>
</head>
<body>
<form name="calculo">
Campo1: <input type="text" name="campo1" value="" size="10" maxlength="10">
Campo2: <input type="text" name="campo2" value="" size="10" maxlength="10">
Campo3: <input type="text" name="campo3" value="" size="10" maxlength="10"><br>
<input type="button" value="Soma" onClick="processa1()">
<input type="button" value="Multiplica" onClick="processa2()"><br>
Resultado: <input type="text" name="campo4" value="" size="10" maxlength="10">
</form>
</body>
</html>
Operadores
Operadores so smbolos que representa uma operao matemtica; so trs tipos de operadores:
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
14/154
14/8/2014
Apostila Javascript
Operadores Aritmticos ( + , -, * , /)
Operadores Relacionais (<, >, =, <= , >= )
Operadores Booleanos (And, Or, Not)
O operador mais usado o operador de atribuio "=". Ele atribui o contedo da expresso sua direita
para a varivel do seu lado esquerdo.
X=40
X=20/10 + 5
X=Y
Operadores Aritmticos
Operadores aritmticos so smbolos usados pelo computador + , -, * , /, para efetuar clculos matemticos.
Os operadores aritmticos so os seguintes:
Operadores
Nome
Utilizao
Adio
Soma valores
Subtrao
Subtrai valores
Multiplicao
Multiplica valores
Diviso
Divide valores
Mdulo
Resultado
5+8
13
12-7
3*6
18
10/3
3.333333
10 % 3
Resultado
4*2+1
4 * (2 + 1)
12
3 + 5 * 4-2
21
(3 + 5) * (4-2)
16
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
15/154
14/8/2014
Apostila Javascript
Exerccio 2. Faa um programa que receba trs notas, calcule e mostre a mdia aritmtica entre elas.
16/154
14/8/2014
Apostila Javascript
base= parseFloat(document.frm_teste.base.value)
altura=parseFloat(document.frm_teste.altura.value)
area=(base * altura)/2
alert(area)
}
</script>
Exerccio 4. Faa um programa que receba o salrio de um funcionrio, calcule e mostre o novo salrio,
sabendo-se que este sofreu um aumento de 25%.
17/154
14/8/2014
Apostila Javascript
</script>
<form name="frm_teste">
Digite um numero: <input type="text" name="n">
<input type="button" value="Resultado" onClick="Quadradox()">
</form>
<script language="javascript">
function Quadradox() {
n=parseFloat(document.frm_teste.n.value)
Quadrado=n*n
alert("O quadrado de "+ n+ " e "+ Quadrado)
}
</script>
Operadores Relacionais
Operadores relacionais so operadores que permitem ao programador comparar dois (ou mais) valores ou
expresses.
Os operadores relacionais tpicos so: (veja a tabela abaixo:)
Operador
Significado
Exemplo
==
Igual
3==(4-1) ou "VILMA"=="VILMA"
!=
Diferente
5 != (3 + 3) ou "VILMA"!= "BETH"
<
Menor que
3<23
>
Maior que
41>39
<=
Menor ou igual a
5 <= 6
>=
Maior ou igual a
10 >= 10
Resultado
23<3
false (falso)
41>39
true (verdadeiro)
6 <= 5
false (falso)
10 >= 10
true (verdadeiro)
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
18/154
14/8/2014
Apostila Javascript
7==8
false (falso)
48 != 22
true (verdadeiro)
Resultado
a>b
false (falso)
b>a
true (verdadeiro)
a != b
true (verdadeiro)
Resultado
23==(4 * 2 + 3 * 5)
true (verdadeiro)
17==(12/2 + 8-5)
false (falso
23==(4 * 2 + 3 * 5)
17==(12/2 + 8-5)
23==(8 + 15)
17==6 + 8-5
23==23
17==9
true
false
Resultado
"FRED"=="FRED"
true (verdadeiro)
"FRED"!="SAM"
true (verdadeiro)
"ONE"=="TWO"
false (falso)
"THREE"!= "THREE"
false (falso)
Operadores Booleanos
AND, OR, XOR e NOT so as operaes fundamentais a lgica booleana.
Estes operadores s aceitam como operandos valores lgicos: TRUE ou FALSE.
Veja a tabela abaixo
Operador
Significado
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
19/154
14/8/2014
Apostila Javascript
And ( && )
Or ( || )
Xor ( ^ )
Not ( ! )
Se voc est acostumado com o C, C + + , Java e Javascript j deve ter notado que seus operadores
booleanos usam smbolos diferentes.
And substitudo por &&
Or substitudo por ||
e Not substitudo por !
Se o leitor no teve nenhum contato com essas linguagens, poder ter algumas dificuldades iniciais de
escrever este tipo de cdigo. Por exemplo:
(x>2)&&(y==9)
Leia-se: x maior que 2 E y igual a 9
(x<3)||(x>8)
Leia-se: x menor que 3 OU x maior que 8
if((altura>170)||(idade>18)) {
// Ao...
}
Leia-se: se altura maior que 170 centmetros OU idade maior que 18 anos...
Veja a tabela abaixo:
Smbolo
Operao
&&
And (E)
||
Or (Ou)
Not (No)
Existem os operadores binrios (semelhantes aos operadores acima), veja a tabela abaixo:
Smbolo
Operao
&
And lgico
Or lgico
Xor lgico
20/154
14/8/2014
Apostila Javascript
AND (&&) verdadeiro se ambas as entradas forem verdadeiras, veja o quadro abaixo:
(a==true)&&(b==true) o resultado true (verdadeiro)
(a==false)&&(b==true) o resultado false (falso)
(a==true)&&(b==false) o resultado false (falso)
(a==false)&&(b==false) o resultado false (falso)
Por exemplo a expresso:
(3 + 2==5)&&(6 + 2==8)
verdadeira porque as expresses em ambos os lados de And so verdadeiras. no entanto, a expresso:
(4 + 3==9)&&(3 + 3==6)
falsa, porque a expresso esquerda de And falsa. Lembre-se disto quando combinar expresses com
And: se qualquer expresso for falsa, toda a expresso ser falsa.
OR (||) verdadeiro se qualquer uma das entradas for verdadeira, veja o quadro abaixo:
(a==true)||(b==true) o resultado true (verdadeiro)
(a==false)||(b==true) o resultado true (verdadeiro)
(a==true)||(b==false) o resultado true (verdadeiro)
(a==false)||(b==false) o resultado false (falso)
Por exemplo, as expresses:
(3 + 6==2)||(4 + 4==8)
e
(4 + 1==5)||(7 + 2==9)
So ambas verdadeiras porque pelo menos uma das expresses comparada verdadeira. Observe que no
segundo caso, ambas as expresses comparadas so verdadeiras, o que tambm torna verdadeira uma
expresso Or.
Um XOR (OU exclusivo) verdadeiro se somente uma das entradas for verdadeira e no ambas, veja o
quadro abaixo:
(a==true)^(b==true) o resultado false (falso)
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
21/154
14/8/2014
Apostila Javascript
NOT (!) Uma operao lgica booleana que inverte a entrada. Se a entrada for true, a sada false, e viceversa, veja o quadro abaixo:
!(true) o resultado false
!(false) o resultado true
Por exemplo, a expresso:
(4 + 3==5)
No verdadeira; no entanto a expresso
!(4 + 3==5)
verdadeira porque o operador Not reverte para verdadeiro o resultado falso da expresso (4 + 3=5).
Observe esta expresso:
(4 + 5==9) && !(3 + 1==3)
Esta expresso verdadeira ou falsa? Se voc disse verdadeira, compreende a forma como funcionam os
operadores lgicos. As expresses em ambos os lados de And so verdadeiras, ento toda a expresso
verdadeira.
Veja exemplos abaixo:
Exemplo 1. Resulta as seguintes operaes booleanas
Expresso
Resultado
(3>2)&&(5>4)
true (verdadeiro)
(2>1)&&(7>8)
false (falso)
(3>4)||(9>2)
true (verdadeiro)
(7>7)||(4>4)
false (falso)
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
22/154
14/8/2014
Apostila Javascript
(2==2)^(5==5)
false (falso)
(4>5)^(4<5)
true (verdadeiro)
! true
false (falso)
! (9<1)||(9<1)
true (verdadeiro)
Resultado
true (verdadeiro)
falso (falso)
b>a || b==c
true (verdadeiro)
b>a ^ c>b
false (falso)
! a <> b
false (falso)
23/154
14/8/2014
Apostila Javascript
Ordem
Mais alta:
Variveis
Parnteses
Funes
Potenciao
* , /, %
+,-
&&, ||
Mais baixa: 10
O comando If
O comando If uma instruo de linguagem de programao que compara dois ou mais conjuntos de dados
e verifica os resultados. Se o resultado for verdadeiro, as instrues que seguem o comando If sero
executados; se no, as instrues que seguirem o comando Else sero executados. Veja o exemplo abaixo:
Se A for verdadeiro (true) execute B
Se A for falso (false) execute C
Vejamos:
<script language="javascript">
A=true
if (A==true) {
document.write("Execute B")
} else {
document.write("Execute C")
}
</script>
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
24/154
14/8/2014
Apostila Javascript
<script language="javascript">
teste=true
if (teste) {
document.write("Esta linha ser impressa")
} else {
document.write("Esta linha no ser impressa")
}
</script>
Usando a clusula If
Vamos ver um exemplo:
<script language="javascript">
Descontos=315
if(Descontos!=0){
document.write("Descontos deste ms: " + Descontos)
}
</script>
O sistema s executar o comando document.write quando o valor da varivel desconto for maior que 0.
Agora, ficou claro que este comando muito til para dar ao sistema uma espcie de "poder de deciso". na
verdade, estamos programando o sistema para cada tipo de situao e ento o software agir conforme a
necessidade de cada problema, situao ou estado do sistema naquele momento.
25/154
14/8/2014
Apostila Javascript
<script language="javascript">
Salario=1550
if (Salario<1250){
document.write("Remunerao isenta de imposto")
} else if (Salario >= 1250 && Salario<1800) {
document.write("Reteno de 5% para imposto mensal")
} else if (Salario >= 1800 && Salario<2200) {
djocument.write("Reteno de 7% para imposto mensal")
} else {
document.write("Reteno de 9% para imposto mensal")
}
</script>
Podemos observar que a clusula else if pode ser utilizada vrias vezes, permitindo calcular vrias faixas para
um valor de salrio. Aqui, utilizamos a varivel Salario, mas este valor pode vir de um banco de dados que
ser alimentado por usurios do sistema, em momento totalmente distinto a sua programao.
Por isso, os sistemas so bastante flexveis aos dados e devem trat-los de acordo com as normas e
legislaes vigentes.
Podemos verificar isso no exemplo anterior, no qual para cada faixa salarial aplicado um imposto que, em
um software oficial, deve estar de acordo com as normas legais.
26/154
14/8/2014
Apostila Javascript
num=parseFloat(document.frm_teste.num.value)
if(num % 2 == 0){
alert("Par")
} else {
alert("mpar")
}
}
</script>
Exerccio 2. Receber a temperatura - em graus Celsius - de uma pessoa e emitir uma mensagem se ela
estiver com febre.
27/154
14/8/2014
Apostila Javascript
</script>
Exerccio 4. Faa um programa que indique se o ano bissexto ou no.
28/154
14/8/2014
Apostila Javascript
}
}
</script>
29/154
14/8/2014
Apostila Javascript
Exerccio 4. Criar um algoritmo que receba a idade e informe se criana, adolescente, adulto ou idoso:
//Nome do arquivo: idade.txt
<br>
<form name="frm_teste">
Qual a sua idade?
<input type="text" name="idade">
<input type="button" value="Resultado" onClick="Idadex()">
</form>
<script language="javascript">
function Idadex() {
idade=parseFloat(document.frm_teste.idade.value)
if (idade<13) {
alert("Voc uma criana")
}else if(idade<18) {
alert("Voc um adolescente")
}else if(idade<65) {
alert("Voc um adulto")
} else {
alert("Voc um idoso")
}
}
</script>
||
NOT !
(OU)
(NO)
Lista de exerccios
Exerccio 1. Faa um programa que receba trs notas de um aluno, calcule e mostre a mdia aritmtica e
diga se foi aprovado, reprovado ou em recuperao.
// Nome do arquivo: aprovado.txt
<br>
<form name="frm_teste">
Digite a primeira nota: <input type="text" name="nota1"><br>
Digite a segunda nota: <input type="text" name="nota2"><br>
Digite a terceira nota: <input type="text" name="nota3">
<input type="button" value="Resultado" onClick="Mediax()">
</form>
<script language="javascript">
function Mediax() {
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
30/154
14/8/2014
Apostila Javascript
nota1=parseFloat(document.frm_teste.nota1.value)
nota2=parseFloat(document.frm_teste.nota2.value)
nota3=parseFloat(document.frm_teste.nota3.value)
media=(nota1 + nota2 + nota3)/3
alert("Mdia aritmtica: " + media)
if(media >= 0 && media<5) {
alert("Reprovado")
}
else if( media >= 5 && media<7) {
alert("Em recuperao")
}
else if (media >= 7 && media <= 10) {
alert("Aprovado")
}
}
</script>
Exerccio 2. Faa um programa que receba trs notas de um aluno, calcule e mostre a mdia aritmtica e
diga se tirou nota A, B, C, D, ou E.
// Nome do arquivo: nota.txt
<br>
<form name="frm_teste">
Digite a primeira nota: <input type="text" name="nota1"><br>
Digite a segunda nota: <input type="text" name="nota2"><br>
Digite a terceira nota: <input type="text" name="nota3">
<input type="button" value="Resultado" onClick="Mediax()">
</form>
<script language="javascript">
function Mediax() {
nota1=parseFloat(document.frm_teste.nota1.value)
nota2=parseFloat(document.frm_teste.nota2.value)
nota3=parseFloat(document.frm_teste.nota3.value)
media=(nota1 + nota2 + nota3)/3
alert("Mdia aritmtica: " + media)
if(media >= 8 && media <= 10) {
alert("nota A")
}else if(media >= 6 && media<8) {
alert("nota B")
}else if(media >= 4 && media<6) {
alert("nota C")
}else if(media >= 2 && media<4) {
alert("nota D")
}else if(media >= 0 && media<2) {
alert("nota E")
}
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
31/154
14/8/2014
Apostila Javascript
}
</script>
Exerccio 3. Dados trs valores A, B, C, verificar se eles formam um tringulo eqiltero, issceles ou
escaleno.
// nome do arquivo: triangulo.txt<br>
Tringulo<br>
<form name="frm_teste">
Lado A: <input type="text" name="A"><br>
Lado B: <input type="text" name="B"><br>
Lado C: <input type="text" name="C">
<input type="button" value="Resultado" onClick="Triangulo()">
</form>
<script language="javascript">
function Triangulo() {
A=parseFloat(document.frm_teste.A.value)
B=parseFloat(document.frm_teste.B.value)
C=parseFloat(document.frm_teste.C.value)
if(A<(B + C) && B<(A + C) && C<(A + B)) {
if(A==B && B==C) {
alert("Tringulo Eqiltero")
} else if(A==B || A==C || B==C) {
alert("Tringulo Issceles")
} else {
alert("Tringulo Escaleno")
}
}else {
alert("Estes valore no formam um tringulo")
}
}
</script>
Exerccio 4. Crie uma estrutura de deciso comparando dois alunos e informe se ele foram aprovados ou
reprovados
// Nome do arquivo: alunos.txt
<br>
<script language="javascript">
Aluno1="Aprovado"
Aluno2="Reprovado"
if (Aluno1=="Aprovado" && Aluno2=="Aprovado"){
document.write("Ambos esto aprovados!")
} else {
document.write("Um dos alunos foi reprovado")
}
</script>
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
32/154
14/8/2014
Apostila Javascript
Comando Case
Repare nesta outra construo para comando if aninhado:
<script language="javascript">
if (mes==1) {document.write("Jan")}
else if (mes==2) {document.write("Fev")}
else if (mes==3) {document.write("Mar")}
else if (mes==4) {document.write("Abr")}
else if (mes==5) {document.write("Mai")}
else if (mes==6) {document.write("Jun")}
else if (mes==7) {document.write("Jul")}
else if (mes==8) {document.write("Ago")}
else if (mes==9) {document.write("Set")}
else if (mes==10) {document.write("Out")}
else if (mes==11) {document.write("Nov")}
else if (mes==12) {document.write("Dez")}
else {document.write("Ms invlido")}
</script>
Embora essa construo seja perfeitamente vlida, h uma forma mais eficiente de se obter os mesmos
resultados. o comando case cujo funcionamento muito parecido com os if's aninhados:
<script language="javascript">
switch (mes){
case 1: document.write("Jan"); break;
case 2: document.write("Fev"); break;
case 3: document.write("Mar"); break;
case 4: document.write("Abr"); break;
case 5: document.write("Mai"); break;
case 6: document.write("Jun"); break;
case 7: document.write("Jul"); break;
case 8: document.write("Ago"); break;
case 9: document.write("Set"); break;
case 10: document.write("Out"); break;
case 11: document.write("Nov"); break;
case 12: document.write("Dez"); break;
default: document.write("Ms invlido!")
}
</script>
Este comando permite que vrias comparaes sejam feitas e, no final, apenas uma seja escolhida para
executar um cdigo especfico da condio selecionada. Ele funciona igualmente a vrios ifs, mas agora ele
testa os valores de uma mesma varivel.
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
33/154
14/8/2014
Apostila Javascript
Vejamos um exemplo:
<script language="javascript">
valor=2
switch (valor){
case 0: document.write("O valor da varivel 0"); break;
case 1: document.write("O valor da varivel 1 "); break;
case 2: document.write("O valor da varivel 2 "); break;
case 3: document.write("O valor da varivel 3 "); break;
case 4: document.write("O valor da varivel 4 ") ; break;
}
</script>
No exemplo anterior, o comando Case testar linha a linha, em busca de um case que corresponda ao valor
da varivel.
Quando encontrar o valor correspondente, executar os comandos que viro logo aps este case.
Em linguagens de programao tais como o C, Java, Javascript PHP, esses comandos estaro entre { }, se
for mais que um. Teste o cdigo e veja como fica.
34/154
14/8/2014
Apostila Javascript
sero executados.
Teste os exemplos anteriores, veja a diferena entre eles e descobrir que o exemplo que possui o break ,
nesse caso, o correto.
Exemplo 1. Determine o nmero de dias durante um ms
// Nome do arquivo: dias.txt
<form name="frm_teste">
Digite o ms: <input type="text" name="Mes"><br>
Digite o ano: <input type="text" name="Ano">
<input type="button" value="Resultado" onClick="DiasX()">
</form>
<script language="javascript">
function DiasX() {
Mes=parseFloat(document.frm_teste.Mes.value)
Ano=parseFloat(document.frm_teste.Ano.value)
NumDias=0
switch(Mes) {
case 4:
case 6:
case 9:
case 11:
NumDias=30
break;
case 2:
if (Ano % 4 == 0) {
NumDias=29
} else {
NumDias=28
}
break;
default:
NumDias=31
break;
}
alert("O mes "+ Mes + " tem " + NumDias + " dias.")
}
</script>
Exemplo 2. Crie um algoritmo que informe o dia da semana
<script language="javascript">
// Nome do arquivo: semana.txt
DataToda=new Date()
DiaDaSemana=DataToda.getDay()
switch(DiaDaSemana) {
case 0: document.write("Domingo"); break;
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
35/154
14/8/2014
Apostila Javascript
36/154
14/8/2014
Apostila Javascript
37/154
14/8/2014
Apostila Javascript
Operador Ternrio
Diferente da instruo IF, o operador ternrio tem este nome porque necessita de trs operandos para se
avaliado. Ooperador ternrio tem a seguinte forma:
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
38/154
14/8/2014
Apostila Javascript
Comando For
O comando FOR uma estrutura de repetio que repete uma srie de instrues um nmero especificado
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
39/154
14/8/2014
Apostila Javascript
de vezes. Digamos que deseje imprimir seu nome na tela dez vezes, por exemplo:
<script language="javascript">
nome=prompt("Digite um nome:","")
document.write(nome+"<br>")
document.write(nome+"<br>")
document.write(nome+"<br>")
document.write(nome+"<br>")
document.write(nome+"<br>")
document.write(nome+"<br>")
document.write(nome+"<br>")
document.write(nome+"<br>")
document.write(nome+"<br>")
document.write(nome+"<br>")
</script>
Quando voc rodar o programa, digite um nome na caixa de texto e clique no boto Ok ou d Enter.
Quando o fizer, o programa imprimir o nome dez vezes na janela do formulrio, como mostrado a seguir:
Bart Simpson
Bart Simpson
Bart Simpson
Bart Simpson
Bart Simpson
Bart Simpson
Bart Simpson
Bart Simpson
Bart Simpson
Bart Simpson
Ter muitas linhas em seu programa contendo instrues idnticas alonga-o alm do necessrio e desperdia
memria. Tambm mostra um estilo de programao ruim. Ao menos que voc deseje que seus amigos
programadores riam de voc pelas costas, aprenda a substituir cdigos de programa redundante por loops
de programa.
A rotina do programa anterior pode ser extremamente fcil usando-se um loop For, e aqui est como:
<script language="javascript">
nome=prompt("Digite um nome:","")
for(var i=1; i<=10; i++){
document.write(nome+"<br>")
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
40/154
14/8/2014
Apostila Javascript
}
</script>
Substitua a rotina do programa anterior por esta. Quando voc roda o programa, a sada ser idntica quela
do primeiro programa, mas agora o programa menor e sem cdigo redundante.
Exerccio 1. Crie uma estrutura de repetio que conte de 1 at 10.
<script language="javascript">
// Nome do arquivo: de1a10.txt
for(var x=1; x<=10; x++){
document.write(x+", ")
}
</script>
Resultado: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
41/154
14/8/2014
Apostila Javascript
</script>
Resultado: 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50,
Exerccio 6. Crie uma estrutura de repetio que conte de 40 at 80 e ao mesmo tempo imprima nmeros
mltiplos de 8.
<script language="javascript">
// Nome do arquivo: mult8.txt
for(var x=40; x<=80; x+=8){
document.write(x+", ")
}
</script>
Resultado: 40, 48, 56, 64, 72, 80,
Exerccio 8. Crie uma estrutura de repetio que conte de -10 at + 10 (nmeros negativos e nmeros
positivos)
<script language="javascript">
// Nome do arquivo: negativo.txt
for(var x=-10; x<=10; x++){
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
42/154
14/8/2014
Apostila Javascript
document.write(x+", ")
}
</script>
Resultado: -10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
Exerccio 10. Crie um conjunto dos nmeros mltiplos de 3 usando a estrutura de repetio FOR.
<script language="javascript">
// Nome do programa: mult3.txt
for(var x=0; x<=30; x+=3){
document.write(x+", ")
}
</script>
Resultado: 0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30,
Exerccio 11. Crie uma estrutura de repetio de 1 at 10, informando o quadrado deste nmero.
<script language="javascript">
// Nome do programa: Quadrado.txt
for (var N=1; N<=10; N++){
Quadrado=N * N
document.write("O quadrado de " + N + " " + Quadrado+"<br>")
}
</script>
Exerccio 12. Crie uma estrutura de repetio que imprima "Ol" dez vezes.
<script language="javascript">
// Nome do programa: ola10.txt
for(var x=1; x<=10; x++){
document.write("Ol<br>")
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
43/154
14/8/2014
Apostila Javascript
}
</script>
Comando while
O comando while utilizado quando se deseja repetir um comando, ou um grupo de comandos, enquanto
uma dada condio for verdadeira. Um exemplo muito simples o de escrever os nmeros inteiros entre 1 e
10 na tela. Para isto podemos construir um programa muito simples para esta tarefa
<script language="javascript">
i=1
while(i <= 10) {
document.write(i+", ")
i=i + 1
}
</script>
Segundo o programa acima podemos ver que o programa termina quando o teste i <= 10 der como
resultado false.
Para que isto ocorra, necessariamente devemos ter i>10. A cada passo o programa primeiro testa a
condio e aps imprime e incrementa a varivel. Assim o programa deve gerar seqencialmente os valores
1, 2, 3... 10. Aps o valor 10 faz i=11 e volta a testar a condio. Neste caso (11 <= 10) false e o
programa termina.
44/154
14/8/2014
Apostila Javascript
Exerccio 6. Crie uma estrutura de repetio que conte de 40 at 80 e ao mesmo tempo imprima nmeros
mltiplos de 8.
<script language="javascript">
x=40
while(x <= 80) {
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
45/154
14/8/2014
Apostila Javascript
document.write(x+", ")
x=x + 8
}
</script>
Resultado: 40, 48, 56, 64, 72, 80,
Exerccio 8. Crie uma estrutura de repetio que conte de -10 at + 10 (nmeros negativos e nmeros
positivos)
<script language="javascript">
x=-10
while(x <= 10) {
document.write(x+", ")
x=x + 1
}
</script>
Resultado: -10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
46/154
14/8/2014
Apostila Javascript
Exerccio 10. Crie um conjunto dos nmeros mltiplos de 3 usando a estrutura de repetio while.
<script language="javascript">
x=0
while(x <= 30) {
document.write(x+", ")
x=x + 3
}
</script>
Resultado: 0, 3, 6, 12, 15, 18, 21, 24, 27, 30,
Exerccio 11. Antes de executar um programa, crie uma mensagem informando se deseja prosseguir.
<script language="javascript">
tentativas=1
while(tentativas <= 3){
resposta=prompt("Voc deseja prosseguir (s ou n)?","")
if (resposta=="s"){
document.write("<br>Execute o programa.")
break;
}
else if(resposta=="n") {
document.write("<br>Fim do programa.")
break;
} else {
document.write("<br>Opo invlida:")
document.write("<br>Tente novamente.")
tentativas=tentativas + 1
}
}
if (tentativas >= 4) {
document.write("<br>vou assumir como um no")
}
</script>
Loops invertidos
Assim como a instruo For e a instruo while, vistos anteriormente, o loop invertido, ao contrrio do
comando while, um bloco de comando que ser executado pelo menos uma vez e ser repetido at que a
condio associada seja verdadeira.
H situaes em que importante se garantir a execuo de uma seqncia de comandos pelo menos uma
vez. Veja um exemplo simples:
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
47/154
14/8/2014
Apostila Javascript
<script language="javascript">
mes=prompt("Digite o ms:")
mes=parseFloat(mes)
while(mes<1 || mes>12) {
document.write("<br>Digitao errada! Digite de novo.")
mes=prompt("Digite o ms:")
mes=parseFloat(mes)
}
</script>
Observe que, repetimos duas vezes o mesmo comando: "Digite o ms".
Podemos simplificar este comando somente uma vez, usando a estrutura de repetio do while .
do while o loop invertido de while.
Usando o exemplo anterior iremos substituir o comando while pelo comando do , observe:
<script language="javascript">
do {
mes=prompt("Digite o ms:")
mes=parseFloat(mes)
if(mes<1 || mes>12){
document.write("<br>Digitao errada! Digite de novo")
}
} while (mes<1 || mes>12)
</script>
Pode-se tambm utilizar este comando para execues sucessivas de um programa. Neste caso, comum se
fazer uma pergunta do tipo "Deseja continuar (s/n)?" aps cada execuo.
Naturalmente, necessrio uma varivel do tipo caractere que receba a resposta do usurio e que ser
utilizada para controlar a estrutura de repetio. Teramos algo como:
<script language="javascript">
// ...
do {
/ * Seqncia de comandos do programa propriamente dito * /
Resp=prompt("Deseja continuar (s/n)?","")
} while(Resp.toUpperCase()!="N")
</script>
Vale lembrar que a funo toUpperCase() retorna o argumento no formato maisculo.
Observe mais um exemplo:
<script language="javascript">
do {
num=prompt("Digite um nmero:","")
num=parseFloat(num)
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
48/154
14/8/2014
Apostila Javascript
if (num<100) {
document.write("<br>O nmero " + num + " menor do que 100")
}
fim=prompt("Deseja testar outro [S/N] ?","")
} while (fim.toUpperCase()!="N")
</script>
Loops Infinitos
Veja o exemplo abaixo:
Ateno, no teste este cdigo!
No teste este cdigo
<script language="javascript">
Contador=0; n=0;
while(Contador<=10){
document.write(n + ", ")
n=n + 1
}
</script>
No teste este cdigo
Se voc entendeu os exemplos anteriores sobre os loops, deve perceber que existe um erro nesse exemplo.
Como pode ver a condio do loop while refere-se varivel contador, mas essa varivel realmente no se
altera durante o loop. Isso crua um loop infinito. O loop continuar executando at que seja interrompido
pelo usurio ou at gerar algum tipo de erro.
Os loops infinitos nem sempre podem ser interrompidos pelo usurio, exceto fechando onavegador, em
alguns casos os loops infinitos podem at impedir que onavegadorfeche ou provocar uma pane no sistema.
Eles tambm podem ser difceis de serem identificados, porque este tipo de cdigo no lhe mostrar um erro
dizendo que h um loop infinito. Mas no se preocupe, pois esse tipo de loop pode ser evitado, o que tem
que fazer : toda vez que for criar um loop em um script, voc deve ter cuidado de certificar-se de que h
uma sada.
Nota: Dependendo da verso do navegador em utilizao, o loop infinito pode at mesmo fazer o navegador
para de responder ao usurio. Certifique-se de fornecer uma rota de escape de loops infinitos e salvar seu
script at test-lo, em qualquer eventualidade.
Ocasionalmente, voc pode querer criar um loop infinito. Isso talvez inclua situaes em que voc quer que
seu programa execute at o usurio interromp-lo ou em que fornece uma rota de escape com a
instruobreak. Uma maneira de criar um loop infinito o seguinte:
while(true) { ...}
Como o valor true condicional, esse loop sempre encontrar sua condio como sendo verdadeira.
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
49/154
14/8/2014
Apostila Javascript
50/154
14/8/2014
Apostila Javascript
Continue
A declarao continue usada quando no se quer executar nenhum dos comandos daquele ponto at o fim
do bloco, mas queremos que o lao prossiga com a prxima interao. No caso do exemplo anterior, se i for
10, o lao se interrompe e o restante da matriz no ser preenchido. Em lugar disto, podemos
usarcontinueque no s salta o processo de atualizao, mas salta alm do calcula que iria provocar um erro.
O seguinte cdigo permite que o lao continue, mas salta todos os nmeros mpares.
<script language="javascript">
var k=0;
while(k <= 20){
k++ ;
if((k%2)!=0)
continue;
document.write(k + ", ");
}
</script>
Resultado: 2, 4, 6, 8, 10, 12, 14, 16, 18, 20,
Operadores incrementais
Existem dois tipos de operadores incrementais o incremento (x++ ) e o decremento (x--)
O incremento (x++ ) aumenta o valor da varivel em uma unidade, o decremento (x--) diminui o valor da
varivel em uma unidade, ou seja:
x++ idntico a x=x + 1
x-- idntico a x=x-1
Os operadores de incremento e decremento podem ser prefixos ou ps-fixos - isto , podem ser colocados
antes ( ++x) ou depois (x++); da mesma forma o decremento (--x) igual a (x--), ou seja:
x++ semelhante a ++x e
x-- semelhante a --x.
Conclui-se da seguinte forma:
x++ ou ++x idntico a x=x + 1
x-- ou --x idntico a x=x-1
Veja o exemplo abaixo:
<script language="javascript">
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
51/154
14/8/2014
Apostila Javascript
a=2
document.write("Se a=2<br>")
a++
document.write("O resultado de a++ "+ a)
a=2
document.write("<br>Se a=2<br>")
++a
document.write("O resultado de ++a "+ a)
</script>
O resultado da execuo deste pequeno script o seguinte:
Se a=2
O resultado de a++ 3
Se a=2
O resultado de ++a 3
Da mesma forma so os operadores decrementais a-- e --a, s substituir + + por --; porm o resultado
1.
Os operadores incrementais so muito usados em estruturas de repeties, tais como o For e o while.
Exemplo:
Exemplo 1:
<script language="javascript">
x=1
while(x<=10){
document.write(x+", ")
x++
}
</script>
Resultado: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
Exemplo 2:
<script language="javascript">
x=20
while(x >= 1){
document.write(x+", ")
--x
}
</script>
Resultado: 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
52/154
14/8/2014
Apostila Javascript
Ateno programadores!!!
Em linguagens de programao tais como Java e o Javascript devemos ter cuidado na hora de usar
operadores incrementais.
Quando colocamos uma varivel e um outro operador de atribuio "=" na frente dos operadores
incrementais + + e -- h uma sutil diferena:
A=x++
diferente de
A= ++x
Imagine que varivel x seja igual a 5. Nos dois casos o resultado de A deveria ser 6 nas duas operaes.
Se:
Se:
Se
A=5
A=5
e:
e:
A=x++
A=++x
O resultado :
O resultado :
A=5
A=6
e:
e:
x=6
x=6
Se
A=5
A=5
e:
e:
A=x--
A=--x
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
53/154
14/8/2014
Apostila Javascript
O resultado :
O resultado :
A=5
A=4
e:
e:
x=4
x=4
Operadores de atribuio
Operadores de atribuio (semelhante aos operadores aritmticos) so smbolos usados pelo computador +
, -, * , /, para efetuar clculos matemticos.
Veja tabela abaixo:
Nome
Operador
Utilizao
Equivalente a
Adio
+=
a+=b
a=a + b
Subtrao
-=
a-=b
a=a-b
Multiplicao
*=
a * =b
a=a * b
Diviso
/=
a/=b
a=a/b
Mdulo
%=
a%=b
a=a%b
Concatenao
+=
a+=b
a=a+b
Veja os exemplos:
<script language="javascript">
// Exemplo 1:
a=2
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
54/154
14/8/2014
Apostila Javascript
b=3
a+=b // Resultado a=5, idntico a a=a + b
document.write(a+"<br>")
// Exemplo 2:
x=7
y=4
x-=y // Resultado x=3, idntico a x=x-y
document.write(x+"<br>")
// Exemplo 3:
V1=8
V1*=2 // Resultado V1=16, idntico a V1=V1 * 2
document.write(V1+"<br>")
// Exemplo 4:
z=12
z/=3 // Resultado z=4, idntico a z=z/3
document.write(z+"<br>")
// Exemplo 5:
h=9
i=2
h%=i // Resultado h=1, idntico a h=h%i
// Observao: O operador Mdulo retorna o resto da diviso
document.write(h+"<br>")
// Exemplo 6:
Variavel="texto 1 "
Variavel+="texto 2" // Resultado variavel="texto 1 texto 2" idntico a variavel=variavel."texto 2"
document.write(Variavel+"<br>")
</script>
Array
Array um conjunto de dados semelhantes (Como nmeros, letras ou strings) armazenados com o mesmo
nome. Aos dados atribudo um nmero diferente no array.
Quando o array tem somente uma dimenso, chamado de vetor.
A maioria das linguagens de programao pode armazenar e manipular matrizes de uma ou mais dimenses.
As matrizes multidimensionais so muito usados em simulao cientfica e no processamento matemtico;
entretanto uma matriz pode ser apenas uma tabela de preos mantidas na memria para acesso instantneo
por um programa de entrada de pedido.
Tipos de Arrays
Os arrays se dividem em dois grupos: vetores e matrizes.
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
55/154
14/8/2014
Apostila Javascript
Exemplos de vetores
1 - Na horizontal
<script language="javascript">
sexo= Array("masculino", "feminino")
numero=Array(1, 2, 3, 4, 5, 6, 7, 8, 9)
vogais=Array("A", "E", "I", "O", "U")
Frutas=Array("Banana", "Laranja", "Ma", "Mamo")
Cursos=Array("Portugus", "Matemtica", "Fsica", "Qumica", "Biologia", "Ingls", "Geografia", "Histria")
estadocivil=Array("solteiro", "casado", "divorciado", "vivo")
</script>
2 - Na vertical
<script language="javascript">
sexo=Array()
sexo[0]="masculino"
sexo[1]="feminino"
numero=Array()
numero[0]=0
numero[1]=1
numero[2]=2
numero[3]=3
numero[4]=4
numero[5]=5
numero[6]=6
numero[7]=7
numero[8]=8
numero[9]=9
vogais=Array()
vogais[0]="A"
vogais[1]="E"
vogais[2]="I"
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
56/154
14/8/2014
Apostila Javascript
vogais[3]="O"
vogais[4]="U"
Fruta=Array()
Fruta[0]="Banana"
Fruta[1]="Laranja"
Fruta[2]="Ma"
Fruta[3]="Mamo"
Cursos=Array()
Cursos[0]="Portugus"
Cursos[1]="Matemtica"
Cursos[2]="Fsica"
Cursos[3]="Qumica"
Cursos[4]="Biologia"
Cursos[5]="Ingls"
Cursos[6]="Geografia"
Cursos[7]="Histria"
estadocivil=Array()
estadocivil[0]="solteiro"
estadocivil[1]="casado"
estadocivil[2]="divorciado"
estadocivil[3]="vivo"
</script>
Usando vetores
Exerccio 1. Elabore um vetor vertical que contenha os dias da semana.
<script language="Javascript">
var lista= new Array();
lista[0]="Segunda";
lista[1]="Tera";
lista[2]="Quarta";
lista[3]="Quinta";
lista[4]="Sexta";
lista[5]="Sbado";
lista[6]="Domingo";
document.write("Dias da semana: ");
for (var x=0; x <= 6; x++ ) {
document.write(lista[x] + ", ");
}
</script>
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
57/154
14/8/2014
Apostila Javascript
Exerccio 3. A partir da tabela abaixo, foram criados dois vetores de 6 posies: NOME e IDADE.
Nome Idade
1 Beatriz 19
2 Pedro
32
3 Cludio 23
4 Susana 27
5 Marcos 16
6 Celina 35
Com base nesta informao, diga o que ser impresso pelas instrues abaixo:
<script language="javascript">
for(var i=0; i<=5; i++) {
if (idade[i]<20){
document.write(Nome[i]+" ")
}
}
</script>
Soluo:
<script language="javascript">
Nome=Array()
idade=Array()
Nome[0]="Beatriz"
idade[0]=19
Nome[1]="Pedro"
idade[1]=32
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
58/154
14/8/2014
Apostila Javascript
Nome[2]="Cludio"
idade[2]=23
Nome[3]="Susana"
idade[3]=27
Nome[4]="Marcos"
idade[4]=16
Nome[5]="Celina"
idade[5]=35
for(var i=0; i<=5; i++) {
if (idade[i]<20){
document.write(Nome[i]+" ")
}
}
</script>
Exerccio 4. A tabela abaixo contm o nome de algumas ruas e o bairro onde se localizam.
Rua
Bairro
Mena Barreto
Botafogo
Botafogo
Cesrio Alvim
Humait
Jos Clemente
Niteri
As instrues a seguir iniciam um programa que cria os vetores RUAS e BAIRROS. Escreva um programa
de forma que ele imprima o nome das ruas do bairro de Botafogo.
Soluo
<script language="javascript">
ruas=Array("Mena Barreto", "Constana Barbosa", "Marechal Cmara", "lvaro Ramos", "Cesrio Alvim",
"Jos Clemente")
bairros=Array("Botafogo", "Mier", "Centro", "Botafogo", "Humait", "Niteri")
alert("Nmero total de bairros: "+bairros.length)
for(var i=0; i<=bairros.length-1; i++){
document.write("Rua: " + ruas[i] + ", bairro: " + bairros[i]+"<br>");
}
document.write("<br>Ruas do bairro de Botafogo:<br>")
for(var i=0; i<=bairros.length-1; i++){
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
59/154
14/8/2014
Apostila Javascript
if(bairros[i]=="Botafogo"){
document.write("Nome da rua: " + ruas[i])
document.write(" Nome do bairro: " + bairros[i]+"<br>")
}
}
</script>
Exerccio 5. Faa um programa para imprimir o signo do zodaco correspondente a uma data qualquer (dia /
ms).
A tabela a seguir mostra o ltimo dia de cada ms e o signo correspondente:
Mes ltimo dia Signo
01
20
Capricrnio
02
19
Aqurio
03
20
Peixes
04
20
ries
05
20
Touro
06
20
Gmeos
07
21
Cncer
08
22
Leo
09
22
Virgem
10
22
Libra
11
21
Escorpio
12
21
Sagitrio
60/154
14/8/2014
Apostila Javascript
dia[4]=20
signo[4]="Touro"
mes[5]=6
dia[5]=20
signo[5]="Gmeos"
mes[6]=7
dia[6]=21
signo[6]="Cncer"
mes[7]=8
dia[7]=22
signo[7]="Leo"
mes[8]=9
dia[8]=22
signo[8]="Virgem"
mes[9]=10
dia[9]=22
signo[9]="Libra"
mes[10]=11
dia[10]=21
signo[10]="Escorpio"
mes[11]=12
dia[11]=21
signo[11]="Sagitrio"
document.write("Tabela de signos:<br><br>")
for(x=1; x<=11; x++){
document.write(signo[x] + " ultimo dia " + dia[x] + " / " + mes[x]+"<br>")
}
</script>
Mercrio
0.024
58
Vnus
0.625
108
Terra
150
Marte
1.91
228
Jpiter
16
12
778
Saturno
18
29.9
1427
Urano
15
85.24
2869
Netuno
167.19
4498
Pluto
251.29
5900
<script language="javascript">
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
61/154
14/8/2014
Apostila Javascript
planeta=Array()
luas=Array()
anos=Array()
distancia=Array()
planeta[0]="Mercrio"
luas[0]=0
anos[0]=0.24
distancia[0]=58
planeta[1]="Vnus"
luas[1]=0
anos[1]=0.625
distancia[1]=108
planeta[2]="Terra"
luas[2]=1
anos[2]=1
distancia[2]=150
planeta[3]="Marte"
luas[3]=2
anos[3]=1.91
distancia[3]=228
document.write("Planeta luas anos distncia<br><br>")
for(indice=0; indice<=3; indice++){
document.write(planeta[indice] +" "+ luas[indice] +" "+ anos[indice]+ " "+ distancia[indice]+"<br>")
}
</script>
Matrizes
Tente pensar no problema como uma tabela
Notas
Aluno01
Aluno02
Aluno03
Aluno04
Aluno05
Veja que esta tabela tem dois tipos de informao: Alunos e notas.
Por exemplo a 2 nota do aluno 3, encontra-se no cruzamento entre a terceira linha com a segunda coluna,
ou melhor, encontra-se no cruzamento entre a linha de ndice 2 com a coluna de ndice 1 , isto partindo do
pressuposto que o ndice da primeira linha 0 e o ndice da primeira coluna tambm 0 .
Podemos transformar qualquer tabela em matriz.
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
62/154
14/8/2014
Apostila Javascript
A array multidimensional mostrado acima pode ser alocado de forma dinmica. Veja a tabela abaixo:
Coluna 1 Coluna 2 Coluna 3
Linha 1 a[0][0]
a[0][1]
a[0][2]
Linha 2 a[1][0]
a[1][1]
a[1][2]
Linha 3 a[2][0]
a[2][1]
a[2][2]
Linha 4 a[3][0]
a[3][1]
a[3][2]
Nota 1 Nota 2
Aluno01
7.5
Aluno02
5.5
Aluno03
Aluno04
7.5
Aluno05
4.5
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
63/154
14/8/2014
Apostila Javascript
Exemplo 02:
Do exemplo 2 em diante transformamos a tabela em matriz.
<script language="javascript">
Aluno01=0
Aluno02=1
Aluno03=2
Aluno04=3
Aluno05=4
Nota1=0
Nota2=1
// Para no dar erros eu criei 2 Arrays e no 4 Arrays diferentes
Classe=Array(Array(),Array())
Classe[Nota1][Aluno01]=7
Classe[Nota2][Aluno01]=7.5
Classe[Nota1][Aluno02]=6
Classe[Nota2][Aluno02]=5.5
Classe[Nota1][Aluno03]=7
Classe[Nota2][Aluno03]=8
Classe[Nota1][Aluno04]=3
Classe[Nota2][Aluno04]=7.5
Classe[Nota1][Aluno05]=4
Classe[Nota2][Aluno05]=4.5
// Para saber quanto o aluno 05 tirou na 1 nota fcil:
for(var y=0; y<=4; y++){
for(var x=0; x<=1; x++){
document.write(Classe[x][y]+"<br>")
}
}
</script>
Exemplo 03:
O exemplo 3 no usa as variveis Aluno01, Aluno02, Aluno03, Nota1, Nota2, em seu cdigo:
<script language="javascript">
// Para no dar erros eu criei 2 Arrays e no 4 Arrays diferentes
Classe=Array(Array(),Array())
Classe[0][0]=7
Classe[1][0]=7.5
Classe[0][1]=6
Classe[1][1]=5.5
Classe[0][2]=7
Classe[1][2]=8
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
64/154
14/8/2014
Apostila Javascript
Classe[0][3]=3
Classe[1][3]=7.5
Classe[0][4]=4
Classe[1][4]=4.5
// Para saber quanto o aluno 02 tirou na 2 nota fcil:
for(var y=0; y<=4; y++){
for(var x=0; x<=1; x++){
document.write(Classe[x][y]+"<br>")
}
}
</script>
Exemplo 04:
O exemplo 04 a forma abreviada de uma matriz
<script language="javascript">
Classe= Array(
Array(7, 7.5),
Array(6, 5.5),
Array(7, 8),
Array(3, 7.5),
Array(4, 4.5)
)
// Para saber quanto o aluno 03 tirou na 1 prova fcil:
for(var y=0; y<=4; y++){
for(var x=0; x<=1; x++){
document.write(Classe[y][x]+"<br>")
}
}
</script>
Lista de exerccio:
Exerccio 1. A partir da tabela abaixo, foram criados dois vetores de 6 posies: NOME e IDADE.
Nome Idade
1 Beatriz 19
2 Pedro
32
3 Cludio 23
4 Susana 27
5 Marcos 16
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
65/154
14/8/2014
Apostila Javascript
6 Celina 35
Com base nesta informao, diga o que ser impresso pelas instrues abaixo:
<script language="javascript">
for(var i=0; i<=5; i++) {
if (idade[i]<20){
document.write(Nome[i]+" ")
}
}
</script>
Soluo 1:
<script language="javascript">
Nome=Array()
idade=Array()
Nome[0]="Beatriz"
idade[0]=19
Nome[1]="Pedro"
idade[1]=32
Nome[2]="Cludio"
idade[2]=23
Nome[3]="Susana"
idade[3]=27
Nome[4]="Marcos"
idade[4]=16
Nome[5]="Celina"
idade[5]=35
for(var i=0; i<=5; i++) {
if (idade[i]<20){
document.write(Nome[i]+" ")
}
}
</script>
Soluo 2:
<script language="javascript">
nome=0
idade=1
Matriz=Array(Array(),Array())
Matriz[nome][0]="Beatriz"
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
66/154
14/8/2014
Apostila Javascript
Matriz[idade][0]=19
Matriz[nome][1]="Pedro"
Matriz[idade][1]=32
Matriz[nome][2]="Cludio"
Matriz[idade][2]=23
Matriz[nome][3]="Susana"
Matriz[idade][3]=27
Matriz[nome][4]="Marcos"
Matriz[idade][4]=16
Matriz[nome][5]="Celina"
Matriz[idade][5]=35
for(var i=0; i<=5; i++){
if (Matriz[idade][i]<20){
document.write(Matriz[nome][i]+" ")
}
}
</script>
Soluo 3:
<script language="javascript">
Matriz=Array(Array(), Array())
Matriz[0][0]="Beatriz"
Matriz[1][0]=19
Matriz[0][1]="Pedro"
Matriz[1][1]=32
Matriz[0][2]="Cludio"
Matriz[1][2]=23
Matriz[0][3]="Susana"
Matriz[1][3]=27
Matriz[0][4]="Marcos"
Matriz[1][4]=16
Matriz[0][5]="Celina"
Matriz[1][5]=35
for(var i=0; i<=5; i++){
if(Matriz[1][i]<20){
document.write(Matriz[0][i]+" ")
}
}
</script>
Soluo 4:
<script language="javascript">
Matriz=Array(
Array("Beatriz", 19),
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
67/154
14/8/2014
Apostila Javascript
Array("Pedro", 32),
Array("Cludio", 23),
Array("Susana", 16),
Array("Marcos", 16),
Array("Celina", 35)
)
for(var i=0;i<=5;i++){
if(Matriz[i][1]<20){
document.write(Matriz[i][0]+" ")
}
}
</script>
Exerccio 2. A tabela abaixo contm o nome de algumas ruas e o bairro onde se localizam.
Rua
Bairro
Mena Barreto
Botafogo
Botafogo
Cesrio Alvim
Humait
Jos Clemente
Niteri
As instrues a seguir iniciam um programa que cria os vetores RUAS e BAIRROS. Escreva um programa
de forma que ele imprima o nome das ruas do bairro de Botafogo.
Soluo
<script language="javascript">
Criamatriz=Array(Array(),Array())
Criamatriz[0][0]="Mena Barreto"
Criamatriz[1][0]="Botafogo"
Criamatriz[0][1]="Constana Barbosa"
Criamatriz[1][1]="Mier"
Criamatriz[0][2]="Marechal Cmara "
Criamatriz[1][2]="Centro"
Criamatriz[0][3]="lvaro Ramos "
Criamatriz[1][3]="Botafogo"
Criamatriz[0][4]="Cesrio Alvim "
Criamatriz[1][4]="Humait"
Criamatriz[0][5]="Jos Clemente "
Criamatriz[1][5]="Niteri"
for(var i=0; i<=5; i++){
document.write("Rua: " + Criamatriz[0][i] + ", bairro: " + Criamatriz[1][i]+"<br>")
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
68/154
14/8/2014
Apostila Javascript
}
document.write("<br>Ruas do bairro de Botafogo<br><br>")
for(var i=0; i<=5; i++){
if (Criamatriz[1][i]=="Botafogo") {
document.write("Nome da Rua: " + Criamatriz[0][i])
document.write("Nome do bairro: " + Criamatriz[1][i]+"<br>")
}
}
</script>
Exerccio 5. Faa um programa para imprimir o signo do zodaco correspondente a uma data qualquer (dia /
ms).
A tabela a seguir mostra o ltimo dia de cada ms e o signo correspondente:
Mes ltimo dia Signo
01
20
Capricrnio
02
19
Aqurio
03
20
Peixes
04
20
ries
05
20
Touro
06
20
Gmeos
07
21
Cncer
08
22
Leo
09
22
Virgem
10
22
Libra
11
21
Escorpio
12
21
Sagitrio
69/154
14/8/2014
Apostila Javascript
Mercrio
0.024
58
Vnus
0.625
108
Terra
150
Marte
1.91
228
Jpiter
16
12
778
Saturno
18
29.9
1427
Urano
15
85.24
2869
Netuno
167.19
4498
Pluto
251.29
5900
<script language="javascript">
Matriz=Array(Array(),Array(),Array(),Array())
Planeta=0
luas=1
anos=2
distancia=3
Matriz[Planeta][0]="Mercrio"
Matriz[luas][0]=0
Matriz[anos][0]=0.24
Matriz[distancia][0]=58
Matriz[Planeta][1]="Vnus"
Matriz[luas][1]=0
Matriz[anos][1]=0.625
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
70/154
14/8/2014
Apostila Javascript
Matriz[distancia][1]=108
Matriz[Planeta][2]="Terra"
Matriz[luas][2]=1
Matriz[anos][2]=1
Matriz[distancia][2]=150
Matriz[Planeta][3]="Marte"
Matriz[luas][3]=2
Matriz[anos][3]=1.91
Matriz[distancia][3]=228
document.write("Planeta luas anos distncia<br><br>")
for(var indice=0; indice<=3; indice++){
document.write(Matriz[Planeta][indice]+ " "+ Matriz[luas][indice]+ " "+ Matriz[anos][indice]+ " "+
Matriz[distancia][indice]+"<br>")
}
</script>
Criando funes
Funo um subprograma de linguagem de computador que faz alguns clculos e retorna um nico valor
para o programa principal.
Exemplo:
<script language="javascript">
// Funes
function Calcule(a, b, c){
d=a * b/c
return d
}
// Programa
document.write(Calcule(4, 3, 2)) // Resultado 6
</script>
O comando return uma instruo que encerra o processamento de uma funo e transfere o controle de
volta ao mdulo que o chamou, e (opcionalmente) especifica o valor da funo.
A funo acima retornou o valor que 6.
Uma funo pode retornar ou no poder retornar valores, basta no usar a instruo return.
Exemplo:
<script language="javascript">
// Funes
function Calcule(a, b, c){
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
71/154
14/8/2014
Apostila Javascript
document.write(a * b/c)
}
// Programa principal
Calcule(4, 3, 2)
</script>
O exemplo acima a funo no retornou valores.
Em um nico programa pode ser armazenado vrias funes diferentes, por exemplo:
<script language="javascript">
// Funes
function Adicao(a, b){
c=a + b
return c
}
function Subtracao(a, b) {
return a-b
}
function Multiplicacao(a, b) {
c=a * b
return c
}
function Divisao(a, b){
return a/b
}
// Programa principal
document.write("2 + 8=" + Adicao(2, 8)+"<br>")
document.write("7-3=" + Subtracao(7, 3)+"<br>")
document.write("3 * 4=" + Multiplicacao(3,4)+"<br>")
document.write("8/2=" + Divisao(8, 2)+"<br>")
</script>
Lista de exerccios
72/154
14/8/2014
Apostila Javascript
//Programa principal
document.write("A soma de 5 e 4 " + soma(5, 4))
</script>
73/154
14/8/2014
Apostila Javascript
document.write(k, "!=",fatorial(k)+"<br>")
}
</script>
2 exemplo:
<script language="javascript">
Nome=null
Sobrenome=null
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
74/154
14/8/2014
Apostila Javascript
if(Nome==null) {
Nome="Marcos"
}
if(Sobrenome==null){
Sobrenome="Aurelio"
}
document.write(Nome + " " + Sobrenome)
</script>
3 exemplo:
<script language="javascript">
a=10
b=null
c=5
resp=0
if(a==null){
resp=b + c
} else if(b==null) {
resp=a + c
} else if(c==null) {
resp=a + b
} else {
resp=a + b + c
}
document.write(resp)
</script>
75/154
14/8/2014
Apostila Javascript
usam formulrios.
Se ns fizermos uma comparao entre as linguagens de programao mais usadas encontraremos os
seguintes objetos.
1) Formulrio
2) Boto de comando
3) Caixa de texto:
4) Rtulo (Label):
5) Senha (Password):
6) rea de texto:
7) Boto de opo:
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
76/154
14/8/2014
Apostila Javascript
8) Caixa de seleo:
9) Caixa de combos:
12) Hiperlinks
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
77/154
14/8/2014
Apostila Javascript
13) Imagens
1) Formulrio:
Para sistamas via web tais como: o Html, o Javascript e o vbscript. Para criar um formulrio, voc utiliza a
tag <FORM>. Assim como as tabelas, que usam o comando <TABLE> </TABLE>, o formulrio usa o
comando <FORM> ... </FORM> para definir a abertura e o fechamento do mesmo.
A forma geral do comando a seguinte:
78/154
14/8/2014
Apostila Javascript
Esse parmetro especifica o metodo que ser usado para enviar o formulrio, usa os
parmetros get e post.
action
Veja o exemplo com os comandos enviar (Submit) e apagar (Reset) dentro de um formulrio:
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
79/154
14/8/2014
Apostila Javascript
Clicando no boto voc abre uma janela e nesta janela voc anexa seu arquivo na pgina de seu navegador.
No campo ao lado do boto est o caminho do arquivo dentro de seu computador, exemplo:
c:\Pasta1\Histria\Feudalismo.doc
Exemplo:
<Form Action="http:\\www.meuservidor.com\arquivo.php" method="post">
<center>
Envie sua foto aqui:<br>
<input type="file" name="foto"><br>
<input type="submit" value="Enviar">
</center>
</form>
2) Boto de comando
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
80/154
14/8/2014
Apostila Javascript
Se no quero enviar os dados do formulrio para o servidor mas que os dados fiquem no navegador usamos
o boto de comando (button), veja:
<input type="button" value="clique aqui" onclick="funcao()">
Seus parmetros so:
Parmetros Definio
name
value
onclick
O boto de comando, que tambm um campo input e usa trs parmetros (type, value e onclick), usa
tambm a linguagem Javascript.
Para inserir um boto de comando use o parmetro input type="button", seguido do valor VALUE que em
nosso caso value="Clique aqui!" pode ser alterado por um outro valor. O evento onclick envia os dados do
formulrio para a linguagem Javascript. Veja um exemplo prtico.
<html>
<head>
<title> Exemplo </title>
</head>
<script language="javascript">
function meunome(formulario) {
alert("Meu nome :"+formulario.campo.value)
}
</script>
<body>
<form>
Digite seu nome: <input type="text" name="campo" value="">
<input type="button" value="Resultado" onclick="meunome(this.form)" />
</form>
</body>
</html>
Iremos discutir o evento onclick, o comando this.form e a funo meu nome posteriormente.
3) Caixa de texto
81/154
14/8/2014
Apostila Javascript
Parmetros Definio
name
value
size
4) Senha (password)
Esse comando idntico ao comando caixa de texto. Sua nica diferena que, no lugar dos caracteres
digitados aparecem asteriscos. Como o prprio nome indica, ele ideal para a visualizao do texto que est
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
82/154
14/8/2014
Apostila Javascript
sendo digitados.
Seus parmetros so:
Parmetros Definio
name
size
value
Exemplo:
<input type="hidden" name="personagem" value="Bob Esponja Cala Quadrada">
Define uma caixa de digitao onde o usurio pode digitar livremente um texto com vrias linhas.
<textarea name="nome" rows="num_lin" cols="num_col">
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
83/154
14/8/2014
Apostila Javascript
[texto padro]
</textarea>
Seus parmetros so:
Parmetros Definio
name
rows
cols
Exemplo:
<form>
<textarea name="campo1" rows=4 cols=20>
Digite seus comentrios
</textarea>
</form>
Resultado:
Cdigo fonte:
Coloque um limite de digitao de n caracteres igual a maxlength da caixa de texto:
<html>
<head>
<title>Untitled Document</title>
</head>
<script type="text/javascript">
function updateCharCount(textareaId, spanId, maxSize) {
textarea = document.getElementById(textareaId);
if (textarea == null) {
return;
}
if (textarea.value.length > maxSize) {
textarea.value = textarea.value.substring(0, maxSize);
}
document.getElementById(spanId).innerHTML = maxSize - textarea.value.length;
}
</script>
<body>
<textarea id="messageBody" name="bodyText" cols="50" rows="15" style="width:570px"
onKeyUp="updateCharCount('messageBody', 'charCount', 2048)"></textarea>
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
84/154
14/8/2014
Apostila Javascript
Os botes de opo indicam uma lista de tens, dos quais apenas um pode ser escolhido. Se um dos botes
de opo for selecionado, todos os demais sero desativados.
Seus parmetros so:
Parmetros
Definio
name
value
checked
Exemplo:
<form>
Escolha a sua cor<br>
<input type="radio" name="cor" value="green">Verde<br>
<input type="radio" name="cor" value="yellow" checked>Amarelo<br>
<input type="radio" name="cor" value="blue">Azul<br>
</form>
Resultado:
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
85/154
14/8/2014
Apostila Javascript
A caixa de seleo parece com o boto de opo, vista anteriormente, mas tem uma diferena inportante.
As caixas de seleo permitem a seleo de vrios tens de uma lista. Cada caixa de verificao pode estar
ativada o desativada (o padro desativado).
Seus parmetros so:
Parmetros Definio
name
value
valor do boto
checked
Exemplo:
<form>
<input type="checkbox" name="negrito" value="n">Negrito<br>
<input type="checkbox" name="italico" value="i">Itlico<br>
<input type="checkbox" name="sublinhado" value="s" checked>Sublinhado<br>
</form>
Resultado:
Este elemento corresponnde a uma caixa de escolha, na qual o usurio pode selecionar um conjunto prdeterminado de tens.
Sua sintaxe diferente do campo <input type="objeto"> descrito anteriormente, veja:
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
86/154
14/8/2014
Apostila Javascript
<select name="nome_do_seletor">
<option [selected]> Opo da seleo
<option> Selees adicionais
</select>
Seus parmetros so:
Parmetros Definio
name
option
Define uma lista de palavras que sero selecionadas numa lista de opes
select
value
Exemplo:
Estado onde mora<br>
<select name="estado">
<option selected>Rio de Janeiro
<option>So Paulo
<option>Minas Gerais
<option>Espirito Santo
<option>Nenhuma das anteriores
</select>
</form>
Resultado:
A caixa de listagem semelhante a caixa de combos. Este comando exibe uma lista de tens que podem ser
selecionados pelo usurio.
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
87/154
14/8/2014
Apostila Javascript
Tem a mesma sintaxe da caixa de combos, s aparece quando o parmetro SIZE for especificado.
Seus parmetros so:
Parmetros Definio
name
size
option
Define uma lista de palavras que sero selecionadas numa lista de opo.
select
value
multiple
Esse parmetro opcional indica que podem ser escolhidos mltiplos tens da lista
Exemplo
<form>
Instrumento musical:<br>
<select name="instrumento" size="5" multiple>
<option selected>Violo
<option>Guitarra
<option>Baixo
<option>Teclado
<option>Bateria
<option>Sax
</select>
</form>
Resultado:
Obs: para selecionar dois ou mais itens da lista pressione shift ou ctrl e selecione o item com o
mouse.
O parmetro value:
Tanto a caixa de combos quanto a caixa de listagem, eu posso usar ou omitir o parmetro value, por
exemplo:
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
88/154
14/8/2014
Apostila Javascript
<form>
<select name="lista" size="3">
<option value="Item 1">Item 1
<option value="Item 2">Item 2
<option value="Item 3">Item 3
</select>
</form>
11) Caixas de dilogos:
Caixa de dilogo uma janela que um programa abre na tela para solicitar algum tipo de reposta do usurio.
So 3 tipos de caisas de dilogos:
a) Caixa para aletar (alert)
b) Caixa para escrever (prompt)
c) Caixa para confirmar (confirm)
Todas estas caixas esto contidos na linguagem Javascript.
11. a) Caixa para aletar (alert)
Este tipo de caixa avisa ao usurio se alguma coisa est dando errado, para depois o mesmo consertar.
Sua sintaxe :
alert("texto a ser exibido")
Exemplo:
<script language="javascript">
alert("Bom dia!")
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
89/154
14/8/2014
Apostila Javascript
</script>
11.b) Caixa para escrever (prompt)
Exemplo:
<script language="javascript">
var nome=prompt("como se chama","");
document.write("Ol!meu nome "+nome);
</script>
11.c) Caixa para confirmar (confirm)
Quando executamos algum procedimento aparece uma janela pedindo se deseja confirmar este
procedimento. A caixa para confirmar retorna os valores true (confirmado) ou false (no confirmado).
Sua sintaxe :
Exemplo:
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
90/154
14/8/2014
Apostila Javascript
<script language="javascript">
if(confirm("Tem certeza de excluir o arquivo?"))
document.write("Documento excludo");
else
document.write("Documento no foi excludo");
</script>
Ateno:
Podemos usar outros tens do Html e transform-los em tens do formulrio, tais como:
Alterando a imagem atravs de um boto;
Transformando um link em um boto de comando e
Criar uma barra de menu dentro da pgina html.
Isto material a mais para vocs estudarem.
12) Hiperlinks
Nas pginas web, um hiperlink um boto ou trecho destacado do texto que, ao ser selecionado, remete o
leitor a uma outra pgina.
Veja um exemplo de link:
<a href="pagina1.html">Pgina 1</a>
Podemos transformar um hiperlink em um boto de comando Javascript.
Basta inserir dentro do atributo href o comando - "javascript:" + (mais) o comando de execuo, exemplo:
<a href="javascript: mensagem('texto');">Boto de comando</a>
Veja um exemplo de boto usando um link:
<html>
<head>
<title> Exemplo 1</title>
<script language="javascript">
<!-function mensagem(texto) {
alert(texto);
}
-->
</script>
</head>
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
91/154
14/8/2014
Apostila Javascript
<body>
<p> <a href="javascript: mensagem('Testando boto 1');">Boto 1</a></p>
<p> <a href="javascript: mensagem('Oi!');">Boto 2</a></p>
<p> <a href="javascript: mensagem('testando imagem');"><img src="imagem1.jpg"></a></p>
</body>
</html>
13) Imagens
Descrio
92/154
14/8/2014
Apostila Javascript
Onde:
primeiraimagem=
segundaimagem=
A barra de menu uma faixa retangular apresentada em geral na parte superior da janela de um programa
aplicativo, ou a esquerda numa pgina web, na qual o usurio pode selecionar um entre os vrios menus
disponveis. Os nomes dos menus disponveis so apresentados na barra de menus. A seleo de um desses
nomes com o teclado ou o mouse faz com que a lista de opes do menu correspondente seja mostrada na
tela.
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
93/154
14/8/2014
Apostila Javascript
Para a web, essas janelas so chamadas de Pop-up ou janela instantnea; estas janelas podem ser exibidas a
qualquer momento na tela.
Existem quatro tipos de pop-up:
Pop-up externo;
Pop-up interno;
Frames e
Janela Modal .
Pop-up externo
Este tipo de pop-up fica externamente ao navegador, muitos usurios acham estas janelinhas chatas de fechar
e muitos navegadores bloqueiam estas janelas. Eles so escritos em Javascript.
Open(): O mtodo open [abrir], que no deve ser confundido com o mtido document.open(), usado para
abrir uma nova janela. Os argumentos padro que este mtodo assume so:
msgWindow=window.open("", "Hello", "toolbar=no, width=200, height=100");
Observe o uso da cadeia "toolbar=no, width=200, height=100" para definir os parmetos da janela. Estes
parmetros podem ser definidos somente na abertura de novas janelas e no afeta a janela pai, ou a janela
mais alta. A lista completa de argumentos de propriedades vlidos :
toolbar = yes|no
[Barra de ferramentas]
location = yes|no
[Localizao]
diretories = yes|no
[Diretrios]
status = yes|no
[Status]
menubar = yes|no
[Barra de menus]
scrollbar = yes|no
[Barra de rolagem]
resizable = yes|no
[Tamanho altervel]
windth= pixels
[Largura em pixels]
height = pixels
[altura em pixels]
left = pixels
top = pixels
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
94/154
14/8/2014
Apostila Javascript
95/154
14/8/2014
Apostila Javascript
ver.document.open()
// ver.document.write(document.forms[0].elements[0].value)
ver.document.write(form1.texto.value)
ver.document.write("<br>")
ver.document.close()
}
</script>
<body bgcolor="#EEEEEE" text="#000000">
<form action="" method="post" name="form1">
<textarea cols=45 rows=13 name="texto">
Insira o texto aqui
</textarea>
<br>
<br>
<input type="button" value="Visualizar" onClick="verpagina(this.form)">
<input type="reset" value="Limpar">
</form>
<br>
<br>
</body>
</html>
Veja outro exemplo de Pop-up que abre um documento Html:
<html>
<head>
<script language="javascript">
<!-function openwin(url){
awindow=window.open(url, "Publicidade", "width=300, height=400, toolbar=no, status=no, scroll=yes,
resize=no, menubar=no, left=150, top=100");
}
// -->
</script>
</head>
<body>
<p> <a href="javascript: openwin('empresax.html');">Empresa x</a></p>
<p> <a href="javascript: openwin('empresay.html');">Empresa y</a></p>
</body>
</html>
Pop-up interno
Este tipo de pop-up fica internamente ao navegador, muitos browsers no bloqueiam este tipo de janela. Ele
escrito parte em CSS e parte em Dhtml.
Veja exemplo:
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
96/154
14/8/2014
Apostila Javascript
<html>
<head>
<title>Pop-up no bloquevel</title>
</head>
<style type="text/css">
#popup {
position: absolute;
top: 30%;
left: 30%;
width: 300px;
height: 150px;
padding: 20px 20px 20px;
border-width: 2px;
border-style: solid;
background: #ffffa0;
display: none;
}
</style>
<body onload="javascript: abrir()">
<script language="javascript" type="">
function fechar() {
document.getElementById('popup').style.display='none';
}
function abrir() {
document.getElementById('popup').style.display='block';
setTimeout("fechar()",3000);
}
</script>
<DIV id="popup" class="popup">
<p>
Esse e um exemplo de popup utilizando DIV. Dessa maneira esse pop-up no ser bloqueado.
</p>
<p>
<small><a href="javascript: fechar();">[X]</a> </small>
</p>
</div>
<br> <a href="javascript: abrir();">Abrir POPUP</a>
<br> <a href="javascript: fechar();">Fechar POPUP</a>
</body>
</html>
Outra forma de usar o CSS junto com o Dhtml aparecer e desaparecer texto, veja o cdigo:
<html>
<head>
<title>Aparecer e desaparecer texto</title>
</head>
<script language="javascript" type="text/javascript">
<!-http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
97/154
14/8/2014
Apostila Javascript
function aparecer() {
if(identificado.style.display=='none') {
identificado.style.display='';
} else {
identificado.style.display='none';
};
}
-->
</script>
<body>
<a href="javascript:;" onClick="aparecer();">APARECER</a>
<div id="identificado" style="display: none">
<p>Texto includo pelo boto</p>
<p>Texto includo pelo boto</p>
<p>Texto includo pelo boto</p>
<p>Texto includo pelo boto</p>
<p>Texto includo pelo boto</p>
</div>
<p>Texto fora da tag DIV</p>
</body>
</html>
Frames
Para j, vou apresentar as frames. Utilisar as frames permite a diviso de janelas afixando a pgina HTML
em vrias partes independentes ums dos outros. Pode-se assim caregar diferentes pginas em cada parte.
Para a sintaxe Html das frames, recomendo o tutorial de HTML
Em Javascript, interessa a capacidade das frames interagir. Ou seja a capacidade de trocar informaes
entre elas.
A filosofia do Html quer que cada pgina que compe um site seja uma entidade independente.
Neste esquemas a pgina principal contem duas frames, em que podemos trocar informaes entre as frames
mantendo sempre a mesma pgina:
<=>
Propriedades
PROPRIEDADES DESCRIO
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
98/154
14/8/2014
Apostila Javascript
length
parent
99/154
14/8/2014
Apostila Javascript
</HTML>
Os dados introduzido pelo utilizador encontra-se pelo caminho document.form2.out.value. Transfere-se
estes dados na zona de texto da outra frame. Para isso, temos de especificar o caminho completo. Primeiro a
zona de texto encontra-se na frame subordinada chamada subordinada01. Ento o caminho comea por
parent.subordinada01. Nesta frame encontra-se um documento que contm um formulrio (form1) que
contm por sua vez uma zona de texto (en), que tem como propriedade value. o que faz, que o caminho seja
document.form1.en.value. E a expresso completa ser:
parent.subordinada01.document.form1.en.value=document.form2.out.value
Resultado:
100/154
14/8/2014
Apostila Javascript
101/154
14/8/2014
Apostila Javascript
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
102/154
14/8/2014
Apostila Javascript
Eventos do formulrio
Evento qualquer ao ou ocorrncia, em geral provocada pelo usurio, qual o programa possa
responder. Por exemplo: o precionamento de uma tela ou a movimentao do mouse. Se um usurio d um
clique no boto do mouse, este evento (de clicar o mouse) gera uma mensagem.
Veja alguns eventos mais comuns:
Elemento
Evento
<body> ou <frameset>
onLoad
OnUnLoad
<form>
onSubmit
Boto de comando
onClick
Boto Reset
onClick
Boto Submit
onClick
Boto de opo
onClick
Caixa de seleo
onClick
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
103/154
14/8/2014
Apostila Javascript
Hiperlink
onClick
Imagem ou Hiperlink
onMouseOver
onMouseOut
Caixa de texto ou
rea de texto
onBlur
onChange
onFocus
onSelect
Caixa de combos ou
Caixa de listagem
onBlur
onChange
onFocus
onLoad = script
O evento onLoad ocorre quando o usurio termina de carregar uma janela ou todos os fremes dentro de um
FRAMESET. Esse atributo pode ser usado com os elementos BODY e FRAMESET.
onUnLoad = script
O evento onUnLoad ocorre quando o usurio remove ou abandona um documento de uma janela ou frame.
Esse atributo pode ser usado com os elementos BODY e FRAMESET.
onSubmit = script
O evento onSubmit ocorre quando um formulrio enviado. Ele s se aplica ao elemento FORM.
onReset = script
O evento onReset ocorre quando um formulrio redefinido. Ele s se aplica ao elemento FORM.
onClick = script
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
104/154
14/8/2014
Apostila Javascript
O evento onClick ocorre quando o bot do mouse clicado sobre um elemento. Esse atributo pede ser
usado com a maioria dos elementos.
onDblClick = script
O evento onDblClick ocorre quando o boto do mause clicado duas vezes sobre um elemento. Esse
atributo pode ser usado com a maioria dos elementos.
onMouseOver = script
O evento onMouseOver ocorre quando o cursor movido sobre um elemento. Esse atributo pode ser usado
com a maioria dos elementos.
onMouseOut = script
O evento onMouseOut ocorre quando o cursor movido para fora de um elemento. Esse atrubuto pode ser
usado com a maioria dos elementos.
onFocus = script
O evento onFocus ocorre quando um elemento recebe o foco, seja pelo mouse ou pela navegao com
tabulao. Esse atrubuto pode ser usado com os seguintes elementos: INPUT, SELECT, TEXTAREA e
BUTTON.
onBlur = script
O evento onBlur ocorre quando um elemento perde o foco, seja pelo mouse ou pela navegao com
tabulao. Ele pode ser usado com os mesmo elementos de onFocus.
onChange = script
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
105/154
14/8/2014
Apostila Javascript
O evento onChange ocorre quando um controele perde o foco de entrada e seu valor foi modificado desde
que ele ganhou o foco. Esse atrubuto se aplica aos seguintes elementos: INPUT, SELECT e TEXTAREA.
onSelect = script
O evento onSelect ocorre quando um usurio seleciona algum texto em um campo de texto. Esse atributo
pode ser usado com os elementos INPUT e TEXTAREA.
onMouseDown = script
O evento onMouseDown ocorre quando o boto do mouse precionado sobre um elemento. Esse atributo
pode ser usado com a maioria dos elementos.
onMouseUp = script
O evento onMouseUp ocorre quando o boto do mouse liberado sobre um elemento. Esse atributo pode
ser usado com a maioria dos elementos.
onMouseMove = script
O evento onMouseMove ocorre quando o cursor movimentado quando est sobre um elemento. Esse
atributo pode ser usado com a maioria dos elementos.
onKeyPress = script
O evento onKeyPress ocorre quando uma tecla pressionada e liberada sobre um elemento. Esse atributo
pode ser usado com a maioria dos elementos.
onKeyDown = script
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
106/154
14/8/2014
Apostila Javascript
O evento onKeyDown ocorre quando uma tecla pressionada sobre um elemento. Esse atributo pode ser
usado com a maioria dos elementos.
onKeyUp = script
O evento onKeyUp ocorre quando uma tecla liberada sobre um elemento. Esse atributo pode ser usado
com a maioria dos elementos.
Eventos de teclado
No podem ser usados com os elemento base, bdo, br, frame, frameset, head, html , iframe, meta, param,
script , style, e title.
ATRIBUTO VALOR
DESCRIO
onkeydown script
onkeypress
script
onkeyup
script
Eventos do mouse
No podem ser usados com os elementos base, bdo, br, frame, frameset, head, html, iframe, meta, param,
script, style e title.
ATRIBUTO VALOR
DESCRIO
onclick
script
ondblclick
script
onmousedown script
onmousemove script
onmouseout
script
onmouseover script
onmouseup
script
107/154
14/8/2014
Apostila Javascript
1 - Evento onClick
<html>
<head>
<title> onClick - 01 </title>
</head>
<body>
<form>
<center>
<input type="button" value="No aperte este boto" onClick="alert('Curisidade Mata! O seu disco rgido
est sendo formatado')">
<hr>
<h2> Prova </h2> </center>
1. Quem descobriu o Brasil?
<input type="button" value="A" onClick="alert('A: Volte para a escola!')">
Vasco da Gama
<input type="button" value="B" onClick="alert('B: Correto.')">
Pedro lvares Cabral
<input type="button" value="C" onClick="alert('C: Este descobriu a Amrica')">
Cristvo Colombo
<hr>
2. Qual a raz quadrada de 16?
<input type="button" value="Resposta" onClick="alert(eval(Math.sqrt(16)))">
<!-- Obs: Math.Sqrt(16) a funo para calcular a raz quadrada -->
</form>
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
108/154
14/8/2014
Apostila Javascript
</body>
</html>
Exemplo 2 - Alterando propriedades
<html>
<head>
<title> onClick - 02 </title>
</head>
<body>
<center>
<h2>Usando onClick para alterar propriedades </h2>
<hr>
<form>
<input type="button" value="Vermelho" onClick="document.bgColor='red'">
<input type="button" value="Ciano" onClick="document.bgColor='cyan'">
<input type="button" value="Azul" onClick="document.bgColor='blue'">
<input type="button" value="Cinza" onClick="document.bgColor='silver'">
<hr>
Cinza: <input type="radio" name="bgcolor" onClick="document.bgColor='gray'">
Azul: <input type="radio" name="bgcolor" onClick="document.bgColor='blue'">
Verde: <input type="radio" name="bgcolor" onClick="document.bgColor='lightgreen'">
Ciano: <input type="radio" name="bgcolor" onClick="document.bgColor='cyan'">
</form>
</center>
</body>
</html>
Exemplo 3: Alterando o contedo de outros campos:
<html>
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
109/154
14/8/2014
Apostila Javascript
<head>
<title> onClick - 03 </title>
<script language="javascript">
function processa1() {
d= eval(document.calculo.campo1.value)+
eval(document.calculo.campo2.value)+
eval(document.calculo.campo3.value)
document.calculo.campo4.value=d
}
function processa2() {
d= eval(document.calculo.campo1.value)*
eval(document.calculo.campo2.value)*
eval(document.calculo.campo3.value)
document.calculo.campo4.value=d
}
</script>
</head>
<body>
<form name="calculo">
<h2> Usando onClick para alterar o contedo de outro campo </h2>
Campo1: <input type="text" name="campo1" value="" size="10" maxlength="10">
Campo2: <input type="text" name="campo2" value="" size="10" maxlength="10">
Campo3: <input type="text" name="campo3" value="" size="10" maxlength="10">
<hr>
<center>
<input type="button" value="Soma" onClick="processa1()">
<input type="button" value="Multiplica" onClick="processa2()">
<hr>
Resultado: <input type="text" name="campo4" value="" size="10" maxlength="10">
</center>
</form>
</body>
</html>
2 - Evento onLoad
O evento onLoad ocorre quando voc carrega uma pgina ou documento. Por exemplo, voc clicou no
boto back ou voltar do browser ou clicou em um hiperlink. O gerenciador onLoad responsvel por esse
evento. Ele pode pertencer ao objeto window e no ao objeto document, como voc poderia imaginar:
<body onLoad="rotinadeabertura()">
Exemplo:
<html>
<head>
<title>Teste</title>
</head>
<script language="javascript">
function jump() {
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
110/154
14/8/2014
Apostila Javascript
window.open("pag2.html");
}
</script>
<body onLoad="jump()">
</body>
</html>
3 - Evento onUnLoad
O evento onUnLoad ocorre quando voc abandona uma pgina ou documento; por exemplo, quando clica
no boto back ou voltar do Browser ou em um hiperlink.
O gerenciador onUnLoad responsvel por este evento. Ele pode ser especificado no comando <body> ou
<frameset> e pertence ao objeto window, e no ao objeto document como voc poderia imaginar.
Exemplo:
<body onUnLoad="rotinadefechamento()">
Vejamos um exemplo funcional para esses dois eventos. Criando trs pginas chamadas respectivamente de
pag01.htm, pag02.htm e pag03.htm.
O documento pag01.htm contm o comando:
<body onunload="alert('Voc ainda est na pgina pag01 e vai carregar a pgina pag02.')">
<a href="pag02.htm">Pag02</a>
</body>
Ao clicar em um link para a pgina seguinte, o mtodo alert ser executado antes do carregamento da
prxima pgina.
A pgina pag02.htm contm apenas dois links, um para a pgina anterior e outro para a pgina posterior
pag03.htm. A pgina pag03.htm possui o comando:
<body onload="alert('Voc est na pgina Pgina pag03')">
Que exibe a caixa de dilogo com a mensagem durante o carregamento da pgina.
4 - Evento onSubmit
O evento onSubmit ocorre quando o usurio preciona o boto Enviar do formulrio. Usando o gerenciador
de eventos onSubmit voc pode executar algum precedimento especial antes de enviar o formulrio e at
mesmo evitar que o formulrio seja preenchido.
Para evitar o envio do formulrio acrescente o comando "return false" dentro do cdigo associado ao
gerenciador onSubmit. Se ocomando return for omitido ou outro valor for especificado, o formulrio ser
enviado.
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
111/154
14/8/2014
Apostila Javascript
No exemplo abaixo, o gerenciador onSubmit executa o comando return, que executar a funo
testacampo(), que por sua vez dever retornar o valor false para evitar o envio do formulrio ou outro valor
qualquer para envi-lo.
Que ativa a funo testacampo() quando o boto de envio precionado. Essa funo verifica se todos os
campos possuem algum contedo digitado testando o tamento dos campos. Caso algum deles no tenha sido
preenchido, a funo exibe uma caixa de dilogo de alerta e retorna False, evitando o envio do formulrio.
Caso contrrio, exibe uma mensagem informando que todos os campos est preenchidos e envia o
formulrio aps o retorno de true. Na prtica voc pode optar por consistir cada campo individualmente
usando os gerenciadores onClick, onChange e onBlur, optar por fazer uma consistncia geral ou, ainda,
combinar os dois mtidos, pois um usurio pode preencher os dados solicitados em um formulrio e
pressinar o boto de envio sem ter preenchido nehum campo, exemplo:
<html>
<head>
<title> onSubmit </title>
</head>
<script language="javascript">
function testacampos() {
if( document.ficha.campo1.value.length==0 |
document.ficha.campo2.value.length==0 |
document.ficha.campo3.value.length==0)
{
alert("todos os campos do formulrio devem ser preenchidos");
return false;
} else {
alert("todos os campos do formulrio foram preenchidos");
return true;
}
}
</script>
<body>
<h2>Preencha seus dados abaixo </h2>
<form onSubmit="return testacampos()" name="ficha" action="formulario.php" method="post">
nome: <input type="text" name="campo1" value=""> <br>
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
112/154
14/8/2014
Apostila Javascript
5 - Evento onMouseOver
O evento onMouseOver pertence ao objeto Link. Toda vez que o cursor do mouse posicionado sobre um
link, o gerenciador de eventos onMouseOver ativado, caso tenha sido especificado no comando. Como
padro, quando posicionamos o cursor sobre um link, a barra de status da janela do browser mostra o
endereo do link. O cdigo associado ao gerenciador deve sempre conter o comando return true para que
fincione corretamente.
O prximo exemplo mostra o uso desse gerenciador em duas situaes. Na primeira, ele cria um link falso
no qual o evento usado para alterar a cor de fundo do formulrio. Se voc pocisionar o cursor sobre a
palavra vermelho o fundo passar a ter essa cor; o mesmo ocorre com as palavras ciano e verde. Nos dosi
links, mostramos em seguida, ao passar o cursor sobre eles, aparecer uma mensagem especfica na linha de
status da janela. Uma vez colocada essa mensagem na linha de status, ela permanece l at que outro link
receba o cursor sobre ele.
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
113/154
14/8/2014
Apostila Javascript
<html>
<head>
<title> onMouseOver </title>
</head>
<body>
Esta pgina contm um link para a pgina chamada pag03 e outro para a pgina pag01 <br>
<a href="" onMouseOver="document.bgColor='red'">Vermelho</a>
<a href="" onMouseOver="document.bgColor='cyan'">Cyan</a>
<a href="" onMouseOver="document.bgColor='lightgreen'">Verde</a>
<hr>
<a href="pag03.htm" onMouseOver="window.status='Esta pgina pode conter material imprprio para
menores'; return true">Vai para a pgina 03</a>
<a href="pag01.htm" onMouseOver="window.status='Esta pgina pode conter material imprprio para
maiores'; return true"> Vai para a pgina 01</a>
</body>
</html>
6 - Evento onBlur
O evento onBlur ocorre quando um campo no est mais sob o foco. Por exemplo, quando voc digita o
contedo de um campo do tipo texto e pressiona a tecla Tab para avanar para outro campo, ou quando
clica em um outro objeto do formulrio, fazendo com que o campo atual no seja mais o objeto ativo do
programa. Os objetos que geram esse evento so: select, text e textarea.
Sintaxe:
onBlur="cdigo a ser executado"
Quando um formulrio precisa ser preenchido e alguns dos campos so obrigatrios, o gerenciador de
eventos onBlur perfeito para criar uma consistncia genrica entre os campos. Veja o exemplo a seguir, no
qual, em um formulrio com cinco campos, o usurio no pode deixar de preencher trs deles. Nos campos
cdigo, nome e telefone foi adicionado o evento onBlur. nos campos mencionados, quando o usurio
pressiona Tab para avanar para outro campo, onBlur ativado e executa a funo campovital(), passando
como argumento uma cpia do objeto atual (o campo do tipo text), representada pela palavra chave this.
A funo campovital recebe o objeto e testa se o contedo da propriedade valor igal a "", ou seja, nada foi
atribudo ao campo. Se isso form verdade, ele exibe uma caixa de dilogo de alerta sugernido o
prenchimento daquele campo. Note que na mensagem usamos a propriedade x.name para exibir o nome do
campo.
<html>
<head>
<title> onBlur</title>
<script language="javascript">
function campovital(x) {
if (x.value=="") {
alert("O campo "+ x.name+" no pode ser deixado em branco")
}
}
</script>
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
114/154
14/8/2014
Apostila Javascript
</head>
<body>
<form>
<br> Cdigo: <input type="text" name="codigo" value="" size="5" maxlength="5" onBlur="campovital(this)">
<br> Nome: <input type="text" name="nome" value="" size="30" maxlength="0" onBlur="campovital(this)">
<br> Cargo: <input type="text" name="cargo" value="" size="20" maxlength="0">
<br> Telefone: <input type="text" name="telefone" value="" size="15" maxlength="0"
onBlur="campovital(this)">
<br> Ramal: <input type="text" name="ramal" value="" size="4" maxlength="0">
</form>
</body>
</html>
Execute o programa. Deixe um dos campos obrigatrios sem preencher e precione Tab o clique em outro
campo. A mensagem ser exibida imediatamente.
7 - Evento onChange
O evento onChange ocorre quando um campo do tipo select, text ou textarea perde o foco e seu contedo
alterado. Ele diferente do evento onBlur, que ocorre sempre que o campo perde o foco independente de
ter seu contedo alterado. O prximo exemplo mostra o uso do gerenciador onChange. no campo nome, ele
foi especificado para ativar uma funo que verifica a quantidade de caracteres digitados e se for menor do
que 5, exibe uma mensagem de erro.
Veja o cdigo do programa:
<html>
<head>
<title>onChange</title>
<script language="javascript">
function testanome(x){
if(x.value.length<5){
alert("O campo "+x.name+" no pode ter menos do que 5 caracteres")
}}
</script>
</head>
<body>
<form>
<h2> Textando alteraes em um campo com onChange</h2>
<br> Cdigo: <input type="text" name="codigo" value="" size="5" onChange="testanome(this)">
<br> Nome: <input type="text" name="nome" value="" size="30" maxlength="30"
onChange="testanome(this)">
<br> Cargo: <input type="text" name="cargo" value="" size="20" maxlength="0">
<br> Telefone: <input type="text" name="telefone" value="" size="15" maxlength="30"
onChange="testanome(this)">
<br> Ramal: <input type="text" name="ramal" value="" size="4" maxlength="0">
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
115/154
14/8/2014
Apostila Javascript
</form>
</body>
</html>
8 - Evento onFocus
Este evento ocorre quando um campo recebe o foco de entrada ou digitao pelo pressionamento da tecla
Tab no campo anterior, Shift+Tab do campo pesterior ou pelo clique do mouse. Ele atua sobre campos do
tipo select, text e textarea.
Vomos analizar o cdigo do prximo exemplo, que solicita a digitao de cinco campos. Os trs primeiros
so os que devero receber um nmero. O campo 4 um campo que recebe automaticamente a somatria
dos campos anteriores, mas que permite a digitao de outro valor. A somatria dos campos feita pela
funo precessa1(), que automaticamente executada quando o campo recebe o foco de digitao. Ns
tambm aproveitamos para acrescentar o evento onBlur nos campos de 1 a 3 para fazermos um teste. Se o
campo permanecer em branco assumido o valor 0 para ele. Dessa forma evitamos um erro de Javascript
na hora de somar um dos campos que eventualmente foi deixado em branco.
O ltimo campo, chamado comentrio, mostra uma caixa de alerta assim que recebe o foco, avisando que
seu preenchimento obrigatrio.
<html>
<head>
<title>onFocus</title>
<script language="javascript">
function processa1() {
d = eval(document.calculo.campo1.value)+
eval(document.calculo.campo2.value)+
eval(document.calculo.campo3.value)
document.calculo.campo4.value=d
}
</script>
</head>
<body>
<form name="calculo">
<h2> Usando onFocus para executar clculos e mensagens </h2>
Campo 1: <input type="text" name="campo1" value="" size="10" maxlength="10" onBlur='if(this.value=="")
{this.value=0}'> <br>
Campo 2: <input type="text" name="campo2" value="" size="10" maxlength="10" onBlur='if(this.value=="")
{this.value=0}'> <br>
Campo 3: <input type="text" name="campo3" value="" size="10" maxlength="10" onBlur='if(this.value=="")
{this.value=0}'> <br>
Resultado: <input type="text" name="campo4" value="" size="10" onFocus="processa1()"> <br>
Comentrio: <input type="text" name="campo5" value="" size="30" onFocus="alert('Este campo de
comentrio deve ser preenchido')">
</form>
</body>
</html>
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
116/154
14/8/2014
Apostila Javascript
9 - Evento onSelect
O evento onSelect ocorre quando um texto de um campo do tipo text ou textarea selecionado. O
gerenciador onSelect responsvel por este evento.
Veja como um comando usa on Select:
<input type="text" value="" name="campo1" onSelect="altera()">
O exemplo a seguir exibe a ativao de caixa de alerta quando um texto do segundo campo selecionado.
<html>
<head>
<title> onSelect </title>
</head>
<body>
<form>
<h2> Testando alteraes em um campo com onSelect</h2>
<br> cdigo: <input type="text" name="codigo" value="" size="5" maxlength="5">
<br> nome: <input type="text" name="nome" value="" size="30" maxlength="30" onSelect="alert('Campo
com texto selecionado')">
<br> Cargo: <input type="text" name="cargo" value="" size="20" maxlength="20">
</form>
</body>
</html>
Usando um menu para acessar outra pgina:
Para personalizar a rotina, basta substituir os nomes dos sites na matriz itens e os endereos correspondentes
na matriz URL.
<html>
<head>
<title>Menu Select: Acessando outras pginas </title>
<script language="javascript">
function criamatriz() {
this.length=criamatriz.arguments.length
for(var i=0; i<this.length; i++)
this[i+1]=criamatriz.arguments[i]
}
var itens=new criamatriz("Escolha um site para visitar:",
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
117/154
14/8/2014
Apostila Javascript
"Uol",
"Microsoft",
"Oracle",
"Borland",
"CNN");
var url=new criamatriz("",
"http://www.uol.com.br",
"http://www.microsoft.com",
"http://www.oracle.com",
"http://www.borland.com",
"http://www.cnn.com");
function vaipara(form1) {
i=form1.lista.selectedIndex;
if (i==0) return;
window.location.href=url[i+1];
}
</script>
</head>
<body>
<h1>Lista de home page </h1>
<hr>
<script language="javascript">
document.write("<form>")
document.write('<select name="lista" onChange="vaipara(this.form)">');
var tot=itens.length;
for(var i=1; i<=tot; i++)
document.writeln("<option>"+itens[i]);
document.writeln('</select>');
document.writeln('</form>');
</script>
O uso de uma lista de seleo para acessar outras pginas muito til, principalmente se a pgina tiver pouco
espao disponvel. alm disso, uma forma elegante para mudar de pgina.
</body>
</html>
Propriedades do formulrio
Propriedades so atributos de um objeto que definem sua aparncia e comportamento, tais como sua
posio, cor, forma e nome.
Prefixos
Para identificar os elementos do formulrio, as trs primeirasl letras do nome do formulrio - frm - form
colocadas propositadamente como um prefixo para indicar que o objeto nomeado um formulrio. Esta no
uma regra obrigatria, mas ir facilitar a compreeno do cdigo de programao. Pesteriormente voc ir
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
118/154
14/8/2014
Apostila Javascript
utilizar outros tipos de objetos que tambm sero identificados com nomes iniciados por prefixos, por
exemplo, uma caixa de texto que ter seu nome iniciado por "txt".
padronizar os programas facilita a compreenso de seus cdigos.
Tipo de Objeto Prefixo Definio
Form
frm
Formulrio
Button
btn
Boto de Comando
Text
txt
Caixa de texto
Label
lbl
Rtulo
Textarea
txa
rea de texto
Radio
rad
Boto de opo
Checkbox
chk
Caixa de seleo
Select
cbo
Caixa de combos
Select + Size
lst
Caixa de listagem
Img
img
Imagem
Password
pss
Senha
Menu
mnu
Menu
Nome do elemento
value
Exemplo:
<form name="frm_teste">
<input type="button" name="btn_botao" value="Verdadeiro"
onClick='if(document.frm_teste.btn_botao.value=="Verdadeiro") {
document.frm_teste.btn_botao.value="Falso"
} else {
document.frm_teste.btn_botao.value="Verdadeiro"
}'>
</form>
b) Elemento submit
<input type="submit" name="nome do submit" value="texto do submit" [onClick="cdigo Javascript"]>
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
119/154
14/8/2014
Apostila Javascript
Propriedades
name
Nome do elemento
value
c) Elemento reset
<input type="reset" name="nome do reset" value="texto do reset" [onClick="cdigo Javascript"]>
Propriedades
name
Nome do elemento
value
d) Elemento text
<input type="text" name="nome do texto" value="valor do texto" size=inteiro
[onBlur="cdigo Javascript"] [onChange="cdigo Javascript"]
[onFocus=="cdigo Javascript"] [onSelect="cdigo Javascript"] >
Propriedades
defaultValue
Indica o valor inicial que vai aparecer na zona de texto (especificado como parametro da
marca Html <input ...> )
name
Nome do elemento
value
Exemplo 1:
<form name="frm_teste">
Digite seu nome: <input type="text" name="txt_nome" value="">
<input type="button" name="btn_botao" value="Resultado"
onClick='document.frm_teste.txt_nome.value=prompt("Seu nome "+document.frm_teste.txt_nome.value+",
digite um outro nome.", "");'>
</form>
Exemplo 2:
<script language="javascript">
function campo(x) {
alert(x.name+" = "+x.value)
}
</script>
<form>
Nome: <input type="text" name="txt_nome" value="Joo" onBlur="campo(this)"><br>
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
120/154
14/8/2014
Apostila Javascript
cols=inteiro
Indica o valor inicial que vai aparecer na zona de texto (especificado como parmetro da
marca Html <input ...>)
name
Nome do elemento
value
Exemplo:
<script language="javascript">
function teste(frm_form) {
frm_form.txa_teste.value="\tO livro: \"Manual Prtico do Programador\". \nEst nas livrarias e \\ ou
jornaleiros."
}
</script>
<form>
<center>
<textarea name="txa_teste" cols="30" rows="10">
</textarea><br>
<input type="button" value="testando" onClick="teste(this.form)">
</center>
</form>
f) Elemento password
<input type="password" name="nome da senha" [value="texto da senha"] size=inteiro>
Propriedades
defaultValue Formece uma cadeia padro se nenhuma outra for fornecida
name
Nome do elemento
value
Eventos
onFocus
onBlur
onSelect
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
121/154
14/8/2014
Apostila Javascript
Exemplo:
<form name="frm_form">
Digite a senha: <input type="password" name="pss_senha">
<input type="button" name="btn_senha" value="Sua senha ?" onClick="alert('Sua senha : ' +
document.frm_form.pss_senha.value)">
</form>
g) Elemento hidden
<input type="hidden" name="Nome do elemento oculto" value="Texto do elemento oculto">
Propriedades
defaultValue
Esta propriedade armazena o valor padro que o elemento oculto armazena se nenhuma outra
informao for fornecida
name
Nome do elemento
value
Valor do elemento
defaultChecked
Esta propriedade determina qual o estado padro da caixa. true para selecionado e false
para deselecionado
name
Nome do elemento
value
Exemplo:
<form name="frm_teste">
<input type="checkbox" name="chk_opcao">Caixa selecionada / deselecionada<br>
<input type="button" name="btn_teste" value="selecionar/deselecionar"
onClick="if(document.frm_teste.chk_opcao.checked==true) {
document.frm_teste.chk_opcao.checked=false
} else {
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
122/154
14/8/2014
Apostila Javascript
document.frm_teste.chk_opcao.checked=true
}"
>
</form>
i) Elemento radio
<input type="radio" name="nome do grupo" value="valor do boto" [checked]
[onClick="cdigo Javascript"] > Texto do boto radio
Propriedades
checked
Esta propriedade contm o valor booleano do estado do boto de rdio; verdadeiro para
selecionado, falso para deselecionado.
defaultChecked
Esta propriedade indica se este o boto padro que deve ser selecionado entre os
botes de rdio do grupo.
index
Esta propriedade indica qual o elemento este boto de rdio no grupo corrente substitui
por est selecionado.
length
name
Nome do elemento
value
Exemplo:
<form name="frm_teste">
<input type="radio" name="rdo_valor" value="1 Item" checked>Item 1<br>
<input type="radio" name="rdo_valor" value="2 Item">Item 2<br>
<input type="button" name="btn_teste" value="Teste"
onClick="if(document.frm_teste.rdo_valor[0].checked==true) {
document.frm_teste.rdo_valor[1].checked=true
} else {
document.frm_teste.rdo_valor[0].checked=true
}
"><br>
Valor do Item 1:<input type="text" value="" name="txt_texto">
</form>
<script language="javascript">
var y=document.frm_teste.rdo_valor[0].value
document.frm_teste.txt_texto.value=y
document.write("Quantidade de tens do boto de rdio: "+document.frm_teste.rdo_valor.length)
</script>
j) Elemento select
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
123/154
14/8/2014
Apostila Javascript
name
nome do elemento
option
Esta uma matriz de diferentes opes disponveis para escolha. A matriz vai de option[0]
para a primeira alternativa a option[n-1] para a ltima
selectedIndex
claro, a matriz de opes tambm na verdade uma matriz de objetos, que possuem suas prprias
propriedades. Cada opo individual em um elemento select possui as seguintes propriedades:
Propriedades do option
defaultSelected
index
selected
text
value
esta propriedade contm os dados enviados ao servidor a partir da lista de seleo quando
o boto submeter for precionado.
Para acessar os elementos individuais das opes em um elemento select, podemos usar o nome do objeto
select:
selectName.option[ndice].propriedade
<script language="javascript">
function selecao() {
var x=document.frm_teste.lst_lista.selectedIndex
var y=document.frm_teste.lst_lista[x].value
document.frm_teste.txt_texto.value=y
}
</script>
<form name="frm_teste">
<select name="lst_lista">
<option value="A">Item 1
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
124/154
14/8/2014
Apostila Javascript
<option value="B">Item 2
<option value="C">Item 3
<option value="D">Item 4
<option value="E">Item 5
</select>
<input type="button" name="btn_teste" value="Teste"
onClick="selecao()">
<input type="button" value="Selecionar item 5" name="btn_selecao"
onClick="document.frm_teste.lst_lista[4].selected=true">
<input type="text" name="txt_texto" value="">
</form>
Adicionando, removendo e renomeando select:
Obs: este cdigo est em Dhtml
<html>
<head>
<script type="text/javascript">
function adicionar(campo)
{
var x=document.getElementById("mySelect"); //retorna o objeto select
var options = x.getElementsByTagName("option"); //pega a lista de options do select
if (x.selectedIndex>=0)
{
var y=document.createElement('option'); //cria um novo elemento option
y.text=campo; //seta o texto do elemento option
y.value=options.length; //seta o valor do elemento option
var sel=x.options[x.length]; //pega o indice selecionado do objeto select
try
{
x.add(y,sel); // adiciona um novo option antes do indice selecionado para navegadores complacentes
}
catch(ex)
{
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
125/154
14/8/2014
Apostila Javascript
Biblioteca de funes
O Javascript possui um conjunto bastante vasto de funes com aplicao especfica.
As funes so muito vantajosas para o usurio, pois permitem diminuir o tempo gasto na elaborao de
formulrios, assim como eventuais erros na sua concepo.
As funes do Javascript agrupam-se em:
Funes matemticas;
Funes tipo string;
Funes tipo data;
Funes tipo hora;
Funes do sistema operacional;
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
126/154
14/8/2014
Apostila Javascript
Banco de dados;
Outras funes.
As funes do Javascript tem a seguinte sintaxe:
= nomedafuno(argumentos)
Os tipos de argumentos variam de funo para funo e em relao s necessidades de clculo do usurio.
Os tipos de argumentos mais utilizados so: variveis numricas, variveis strings, variveis booleanas, arrays
e propriedades.
Exemplos (tericos) de funes:
Inicio
escreva( Potencia(2, 6) )
escreva( Soma(12, 36) )
escreva( Media(8, 3) )
Fim
Funes Matemticas
Para auxiliar os clculos matemticos, alm dos operadores matemticos de adio, subtrao, multiplicao
e diviso existem outras funoes matemticas.
Algumas funes so comuns, tais como: raiz quadrada, potnciao, mdulo, etc. Outras exigem
conhecimento a nvel de 2 grau tais como: trigonometria e logartmos.
Vejamos
Covertendo string para numrica
Calcula o contedo da string
Exemplo:
eval
resultado=eval("(10*20)+2-8")
document.write(resultado)
Resultado: 194
Exemplo:
valor=parseInt("79.65732")
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
127/154
14/8/2014
Apostila Javascript
document.write(valor)
Resultado: 79
Exemplo:
valor=parseFloat("79.65732")
document.write(valor)
Resultado: 79.65732
Arredondando valores
Math.floor(nmero) - Devolve o inteiro anterior menor que "nmero" 32.5 torna-se 32 e -24.8 tornase -24.
Math.ceil(nmero) - Devolve o inteiro maior que o "nmero" 32.5 torna-se 33 e -24.8 torna-se -25.
Math.round(nmero) - Arredonda "nmero" para o inteiro mais prximo. Se a poro decimal do
nmero for 0.5, o nmero arredonda para cima.
Funes matemticas comuns
Math.random() - Devolve um nmero aleatrio entre 0 e 1.
Math.abs(nmero) - Valor absoluto do "nmero", ou seja, sempre o valor idependente do sinal
(positivo ou negativo) -4 fica igual a 4.
Math.max(num1, num2) - Devolve o nmero maior dos nmeros "num1" e "num2".
Math.min(num1, num2) - Devolve o nmero menor dos nmeros "num1" e "num2".
Math.pow(num, expoente) - Devolve "num" elevado a "expoente".
Math.sqrt(nmero) - Raiz quadrada de "nmero".
Math.SQRT1_2 - Raiz quadrada de 1/2 (aproximadamente 0.7071067811865476).
Math.SQRT2 - Raiz quadrada de 2 (aproximadamente 1.4142135623730951).
Funes trigonomtricas
Math.PI - Retorma o valor de PI (aproximadamente 3.141592653589793).
Math.sin(nmero) - Retorna o seno de um nmero (em radianos).
Math.cos(nmero) - Retorna o cosseno de um nmero (em radianos).
Math.tan(nmero) - Retorna a tangente de um nmero (em radianos).
Math.asin(nmero) - Retorna o arco seno de um nmero (em radianos).
Math.acos(nmero) - Retorna o arco cosseno de um nmero (em radianos).
Math.atan(nmero) - Retorna o arco tangente de um nmero (em radianos).
Trigonometria no tringulo retngulo
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
128/154
14/8/2014
Apostila Javascript
Pelo teorema de Pitgoras, temos que "o quadrado da hipotenusa igual a soma dos quadrados dos
catetos", ou seja, pela figura, a2=b2+c2
Observamos ainda que os ngulos agudos do tringolo retngulo so complementares na figura + = 90
Exerccios:
1) Usando o teorema de Pitgoras, calcule o valor de x:
a)
b)
c)
b)
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
129/154
14/8/2014
Apostila Javascript
Razes trigonomtricas
= ngulo
a = Hipotenusa
b = Cateto oposto
c = Cateto adjacente
Seno de um ngulo o quociente entre a medida do cateto oposto ao ngulo e a medida da
hipotenusa:
Observao:
O seno de um ngulo igual ao cosseno do seu complemento;
O cosseno de um ngulo igual ao seno do seu complemento.
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
130/154
14/8/2014
Apostila Javascript
Exerccios
1) Em cada caso, determinar o sen , cos e tg :
a)
b)
c)
e)
d)
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
131/154
14/8/2014
Apostila Javascript
cos
tg
em
radianos
30
45
60
Exerccios:
1) Encontre x:
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
132/154
14/8/2014
Apostila Javascript
2) Encontre y:
b)
a)
3) Encontre x e y:
c)
a)
b)
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
133/154
14/8/2014
Apostila Javascript
Unidades de medida
Grau: unidade de medida a qual uma volta equivale a 360, exemplos: 30, 45, 60.
Radianos: unidade de medida de ngulo a qual uma volta equivale a 2, exemplos: a /6, /4, /3.
ngulo
em
em
grau radianos
360
180
90
60
45
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
134/154
14/8/2014
Apostila Javascript
30
A unidade de medida usada pelos brasileiros o grau, porm a unidade de medida usada pela maioria das
linguagens de programao o radiano, ento acostume-se a transformar graus em radianos.
Calculando o seno, cosseno e tangente pelo computador
Se o argumento estiver em graus, multiplique-o por PI()/180 ou use a funo radianos() para convert-lo
em radianos.
Exemplo:
<script language="javascript">
function radianos(){
return Math.PI/180
}
document.write("<br>"+ Math.sin(Math.PI)) // O seno de radianos de pi(0, aproximadamente). Resultado:
1.2246063538223773e-16
document.write("<br>"+Math.sin(Math.PI/2)) // O seno de radianos de pi/2 (1). Resultado: 1
document.write("<br>"+Math.sin(30*Math.PI/180)) // O seno de 30 graus (0,5). Resultado:
0.49999999999999994
document.write("<br>"+Math.sin(30*radianos())) // O seno de 30 graus (0,5). Resultado:
0.49999999999999994
document.write("<br>"+Math.cos(60*Math.PI/180)) // O cosseno de 60 graus (0,5). Resuntado:
0.5000000000000001
document.write("<br>"+Math.cos(60*radianos())) // O cosseno de 60 graus (0,5). Resultado:
0.5000000000000001
document.write("<br>"+Math.tan(45*Math.PI/180)) // A tangente de 45 graus (1). Resultado:
0.9999999999999999
document.write("<br>"+Math.tan(45*radianos())) // A tangente de 45 graus (1). Resultado:
0.9999999999999999
</script>
Calculando o arco seno, arco cosseno e arco tangente pelo computador
Retorna o arco seno ou o seno inverso de um nmero. O arco seno o ngulo cujo seno nm. O ngulo
retornado fornecido em radianos; o mesmo para arco cosseno e arco tangente.
Para expressar o arco seno em graus, multiplique o resultado por 180/PI( ) ou use a funo graus().
<script language="javascript">
function graus() {
return 180/Math.PI
}
document.write("<br>"+Math.round(Math.asin(0.5)*180/Math.PI)) // O arco seno de 0,5 em graus 30
document.write("<br>"+Math.round(Math.asin(0.5)*graus())) // O arco seno de 0,5 em graus 30
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
135/154
14/8/2014
Apostila Javascript
Logartmos
Math.log(nmero) - Retorna op logartmo de um nmero
Math.E - Retorna a base dos logartmos naturais (aproximadamente 2.718281828459045)
Math.LN2 - Retorna o valor do logartmo de 2 (aproximadamente 0.6931471805599453)
Math.LOG2E - Retorna a base do logaritmo de 2 (aproximadamente 1.4426950408889634)
Math.LN10 - Retorna o valor do logartimo de 10 (aproximadamente 2.302585092994046)
Math.LOG10E - Retorna a base do logartmo de 10 (aproximadamente0.4342944819032518)
Definio
Sendo a e b nmeros reais e positivos com a1, chama-se logaritmo de b na base a o expoente x ao qual se
deve elevar a base a de modo que a potncia ax seja igual a b.
logab=x <=> ax=b
Na expresso logab=x, temos:
a a base do logartmo;
b o logaritmando;
x o logaritmo.
Vejamos alguns exemplos de logartmos:
log24=2, pois 22=4
log381=4, pois 34=81
log77=1, pois 71=7
log51=0, pois 50=1
Logaritmo decimal
No mbito do Ensino Mdio, usa-se bastante a base 10, uma vez que neste ambiente a base decimal recebe
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
136/154
14/8/2014
Apostila Javascript
as preferncias para o trabalho com o nosso sistema de numerao, mas devemos observar que em
contextos mais avanados, a base decimal tem pouca utilidade. Quando escrevermos Log a partir daqui
neste trabalho, entenderemos o Logaritmo na base decimal e escrevemos:
y = Log(x)
para entender que y o Logaritmo de x na base 10 e nesta base 10, temos algumas caractersticas
interessantes com os logaritmos das potncias de 10
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Log(1)=0
Log(0) no tem sentido
Log(10)=Log(101 )=1
Log(1/10)=Log(10-1 )=-1
Log(100)=Log(10)=2
Log(1/100)=Log(10-2 )=-2
Log(1000)=Log(10)=3
Log(1/1000)=Log(10-3 )=-3
Log(10n)=n
Log(10-n)=-n
A partir da propriedade
Log 10n=n
temos que o Logaritmo de 10n na base 10 o expoente n, o que nos faz pensar que para todo x real
positivo vale a relao:
Log(10x) = x
Mudana de base
Apesar de existirem identidades muito teis, a mais importante para o uso na calculadora a que permite
encontrar logaritmos com bases que no as que foram programadas na calculadora (normalmente loge e
log10). Para encontrar um logaritmo com uma base b usando qualquer outra base a:
por definio
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
137/154
14/8/2014
Apostila Javascript
aplica-se
em ambos os lados
Identidade logartmica
138/154
14/8/2014
Apostila Javascript
length
Exemplo:
var s="Esta e uma string de texto";
document.write("Tamanho da String = "+s.length+" caracteres");
Resultado:
Tamanho da String = 26 caracteres
Exemplo:
var s="Esta e uma string de texto";
var s1=s.charAt(5);
document.write(s1);
Resultado: "e"
indexOf(caractere,
[inicIndex])
Exemplo:
text="Hello, world!";
index=0
document.write("<pre>");
while(index<text.lastIndexOf("l")) {
index= text.indexOf("l", index+1);
document.write(index+"\t");
}
document.write("\n");
document.write("</pre>")
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
139/154
14/8/2014
Apostila Javascript
Resultado:" 2 3 10"
Exemplo:
s="Este automovel caro"
document.write(s.replace("automovel", "carro"))
Resultado:
Este carro caro
Exemplo:
s="Este automovel caro"
document.write(s.search("automovel"))
Resultado: "5"
Exemplo:
s="ISTO UM EXEMPLO"
document.write(s.toLowerCase())
Resultado:
isto um exemplo
Exemplo:
s="isto um exemplo"
document.write(s.toUpperCase())
Resultado:
ISTO UM EXEMPLO
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
140/154
14/8/2014
Apostila Javascript
141/154
14/8/2014
Apostila Javascript
142/154
14/8/2014
Apostila Javascript
143/154
14/8/2014
Apostila Javascript
hora = rel.getHours()
minuto = rel.getMinutes()
segundo = rel.getSeconds()
temp = hora
temp += ((minuto < 10) ? ":0" : ":") + minuto
temp += ((segundo < 10) ? ":0" : ":") + segundo
document.write("So exatamente: "+temp)
</script>
Exemplo 4: relgio
<HTML>
<HEAD>
<TITLE> Exemplo </TITLE>
<SCRIPT language="javascript">
function relogio() {
rel = new Date()
hora = rel.getHours()
minuto = rel.getMinutes()
segundo = rel.getSeconds()
temp = "" + hora
temp += ((minuto < 10) ? ":0" : ":") + minuto
temp += ((segundo < 10) ? ":0" : ":") + segundo
document.form1.text1.value = temp
setTimeout("relogio()", 1000)
}
</SCRIPT>
</HEAD>
<BODY onLoad="relogio()">
<FORM NAME="form1">
So exatamente:
<INPUT TYPE="text" NAME="text1" SIZE="8" VALUE="">
</FORM>
</BODY>
</HTML>
Usando o Timer
um mtodo que permite a programao para que uma determinada ao s ocorra aps o transcusro de
um determinado tempo.
Varivel = setTimeout("ao",tempo)
Varivel uma varivel apenas para controle do timer
ao a ao que se quer realizar
tempo o tempo de espera para que a ao ocorra em milisegundos.
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
144/154
14/8/2014
Apostila Javascript
Obs:
importante observar que a ao s ocorrer uma vez. para que a ao volte a ocorrer, ser necessrio
repetir o comando dentro da ao, optendo-se, assim um LOOP.
Para interromper um LOOP, provocado pela forma acima, deve-se utilizar o seguinte mtodo:
clearTimeout(Varivel)
Onde:
Varivel o nome da varivel de controle do timer.
<HTML>
<HEAD>
<TITLE> Exemplo </TITLE>
<SCRIPT language="javascript">
function relogio() {
rel = new Date()
hora = rel.getHours()
minuto = rel.getMinutes()
segundo = rel.getSeconds()
temp = "" + hora
temp += ((minuto < 10) ? ":0" : ":") + minuto
temp += ((segundo < 10) ? ":0" : ":") + segundo
document.form1.text1.value = temp
controleRelogio=setTimeout("relogio()", 1000)
}
</SCRIPT>
</HEAD>
<BODY>
<FORM NAME="form1">
So exatamente:
<INPUT TYPE="text" NAME="text1" SIZE="8" VALUE=""><br>
<INPUT TYPE="button" VALUE="Ativar Relgio" onClick="relogio()">
<INPUT TYPE="button" VALUE="Parar Relgio" onClick="clearTimeout(controleRelogio)">
</FORM>
</BODY>
</HTML>
Funes arrays
Pode ser definido como um conjunto ordenado de valores, numricos ou no, que so referenciados por um
mesmo nome.
Em geral, criado por uma das formas:
new Array(tamanho)
// ou
new Array(valor0, valor1, valor2, ...)
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
145/154
14/8/2014
Apostila Javascript
// Exemplo:
nivel = new Array("baixo","medio","alto");
nivel = new Array[3];
Para este ltimo, os valores devem ser dados individualmente:
nivel[0] = "baixo";
nivel[1] = "medio";
nivel[2] = "alto";
// Exemplo com valores numricos:
nivel = new Array(10, 20, 30);
// Tambm pode ser criado a partir da forma literal:
nivel = ["baixo", "mdio", "alto"];
join(sep): Junta seqencialmente os elementos de uma array usando o caractere (ou caracteres) dados por
sep. Se ele no indicado, usa a vrgula como default.
Exemplos:
nivel = new Array("baixo","medio","alto");
str_1 = nivel.join(); //resulta "baixo,mdio,alto" em str_1
str_2 = nivel.join(", "); //resulta "baixo, mdio, alto" em str_2
str_3 = nivel.join("/"); //resulta "baixo/mdio/alto" em str_3
length: Indica o nmero de elementos em uma array. Pode ser usado para diminuir o comprimento de um
objeto j definido. No pode aumentar.
Exemplo:
nivel = new Array("baixo","medio","alto","muito alto");
nivel.length = 3; //reduz o tamanho de 4 para 3
pop(): Remove e retorna o ltimo elemento de uma array, reduzindo o seu tamanho.
Exemplo:
nivel = new Array("baixo","medio","alto","muito alto");
eliminado = nivel.pop; //a varivel eliminado contm "muito alto"
push(valor1, valor2, ...): Adiciona um ou mais elementos (valor1, valor2, etc) ao final de uma array,
retornando o seu novo tamanho.
Exemplo (a varivel novo ser 4 e os dois elementos sero adicionados):
nivel = new Array("baixo","medio");
novo = nivel.push("alto","muito alto");
reverse(): Inverte a ordem dos elementos. O primeiro se torna o ltimo e o ltimo se torna o primeiro.
Exemplo (nivel[0], nivel[1] e nivel[2] sero respectivamente "alto", "mdio" e "baixo"):
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
146/154
14/8/2014
Apostila Javascript
147/154
14/8/2014
Apostila Javascript
quant um inteiro indicando o nmero de elementos a remover. Se zero, nenhum elemento removido,
mas deve ser indicado pelo menos um novo elemento.
elm1 ... elemN so os novos elementos a adicionar. Se no indicados, a funo apenas remove elementos.
Se o nmero de elementos a adicionar diferente do nmero de elementos a remover, o tamanho da arrray
alterado. A funo retorna uma array com os elementos removidos.
Exemplos:
num = new Array("10", "20", "30", "40");
document.write(num); //escreve 10,20,30,40
document.write("<br>"); //avana uma linha
de_fora = num.splice(2,0,"25");
document.write(num); //escreve 10,20,25,30,40
document.write("<br>"); //avana uma linha
de_fora = num.splice(2,1,"28");
document.write(num); //escreve 10,20,28,30,40
document.write("<br>"); //avana uma linha
document.write(de_fora); //escreve 25
toString(): Retorna uma string com os elementos dispostos seqencialmente e separados por vrgula.
Exemplo:
num = new Array("10", "20", "30", "40");
str = num.toString(); //str contm "10,20,30,40"
unshift(elm1,..., elmN): Adiciona um ou mais elementos no incio da array e retorna seu novo tamanho. Os
parmetros (elm1, ..., elmN) so os novos elementos.
Exemplo (escreve: "baixo,mdio,alto"):
nivel = new Array("baixo","medio","alto","muito alto");
nivel.unshift("muito baixo");
document.write(nivel); //escreve "muito baixo,baixo,medio,alto,muito alto"
Impressora
Para imprimir um arquivo use este cdigo:
<script language="javascript">
<!-function Imprimir() {
window.print();
}
-->
</script>
<a href="javascript:Imprimir();">Imprimir</a>
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
148/154
14/8/2014
Apostila Javascript
Fechando um programa
Para interromper a execuo do programa que est sendo executado use o comando window.close(),
exemplo:
(...)
<a href="javascript:window.close()">Fechar</a>
(....)
window.moveTo(0,0);
//Move a janela dentro dos eixos x(horizontalmente) e y(verticalmente).
window.resizeTo(screen.availWidth, screen.availHeight);
//Permite o ajuste de largura de uma s vez.
//screen.availWidth - Usa a LARGURA disponvel no monitor.
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
149/154
14/8/2014
Apostila Javascript
Tela cheia
<html>
<head>
<title>Untitled Document</title>
</head>
<body>
<FORM>
<INPUT TYPE="BUTTON" NAME="BTN_FullScreen" VALUE="Modo tela cheia"
OnClick="window.open(document.location, 'big', 'fullscreen=yes')">
</FORM>
<br>
<br>
Fechar o browser
<a href="javascript:window.close()" target="_top">Sair</a>
<br>
<br>
</body>
</html>
Endereo de IP
Teste aqui seu navegador >>
<script language="javascript">
//host - Armazena uma string com o formato "hostname:port" da pgina HTML atual.
document.write('<p>Demostrao da propriedade host: '+location.host)
//hostname - Armazena uma string, com o IP da pgina HTML atual.
document.write('<p>Demostrao da propriedade hostname: '+location.hostname)
//href - String identica a mostrada na barra "location" do browser.
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
150/154
14/8/2014
Apostila Javascript
Array dinmica
<html><head><title> Cria Objeto </title>
<script>
function NovaFunc(nome,tel,UF){
this.nome=nome
this.tel=tel
this.UF=UF
}
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
151/154
14/8/2014
Apostila Javascript
</script>
</head><body>
<script>
fulano = new NovaFunc("Alguem","2222-2222","SP")
document.write(fulano.tel + "<br>")
document.write(fulano.UF + "<br>")
document.write(fulano.nome)
document.write(fulano[1] + "<br>")
document.write(fulano[2] + "<br>")
document.write(fulano[0])
</script>
</body></html>
Outro exemplo
<script language="javascript">
function veiculo(a, b, c, d) {
this.marca=a;
this.modelo=b;
this.ano_matricula=c;
this.cilindrada=d;
}
//exemplo 1
var carro1=new veiculo("Peugeot","106","1996",1100)
document.write("marca = "+carro1.marca)
document.write("<br>modelo = "+carro1.modelo)
document.write("<br>Ano da matrcula = "+carro1.ano_matricula)
document.write("<br>Cilindrada = "+carro1.cilindrada)
document.write("<br><br><br>")
//exemplo 2
var carro2=new veiculo()
carro2[0]="Fiat";
carro2[1]="187";
carro2[2]="1995";
carro2[3]=2200;
// Lista das propriedades do objeto
for(var k=0; k<=3; k++) {
document.write("Propriedade "+k+" = "+carro2[k]+"<br>");
}
document.write("<br><br><br>")
// exemplo 3
var carro3=new veiculo()
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
152/154
14/8/2014
Apostila Javascript
carro3["marca"]="Ford"
carro3["modelo"]="K2"
carro3["ano_matricula"]="1999"
carro3["cilindrada"]= 3300
document.write("marca = "+carro3.marca)
document.write("<br>modelo = "+carro3.modelo)
document.write("<br>Ano da matrcula = "+carro3.ano_matricula)
document.write("<br>Cilindrada = "+carro3.cilindrada)
</script>
153/154
14/8/2014
Apostila Javascript
http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html
154/154