Escolar Documentos
Profissional Documentos
Cultura Documentos
JavaScript
Linguagem de programação interpretada (scripting),
baseada em objetos e sem declaração de tipos.
1
Os browsers mais divulgados (Internet
Explorer, Netscape, etc.) são
interpretadores de código JavaScript
inserido em páginas HTML.
2
Os parágrafos de lógica do javaScript podem
estar "soltos" ou atrelados a ocorrência de
eventos.
- Os parágrafos soltos são executados na
seqüência em que aparecem na página
(documento) e os
<SCRIPT>
Set de instruções
</SCRIPT>
3
Para melhor visualização e facilidade de
manutenção, recomenda-se que toda a
lógica seja escrita no início do documento.
4
Observação importante:
Se houver
erro de sintaxe no comando, o
OPERADORES LÓGICOS
Os operadores a serem utilizados em comandos (IF ,
FOR e WHILE) são os seguintes:
• = = Igual
• != Diferente
• > Maior
• >= Maior ou Igual
• < Menor
• <= Menor ou Igual
• && E
• || Ou
10
5
OPERADORES MATEMÁTICOS
Operadores a serem utilizados:
11
OPERADORES MATEMÁTICOS
• += concatena/adiciona à string/valor já existente.
X = X + 1 ou X = X - 1 respectivamente.
Para inverter sinal: X = -X ( - + ou + -).
12
6
CONTROLES ESPECIAIS
\b - backspace
\f - form feed
\n - new line caracters
\r - carriage return
\t - tab characters
// - Linha de comentário
/*....*/ - Delimitadores para inserir um texto com mais de uma
linha como comentário.
Os delimitadores naturais para uma string são: " ou ' .
Para utilizar estes caracteres como parte da string, utilize:
\ precedendo " ou '.
Ex. alert (“Experimente o uso de \" ou \' em uma string")
13
COMANDOS CONDICIONAIS
Tarefas a serem executadas ou não, dependendo da
veracidade ou não de uma condição, ou enquanto esta for
verdadeira.
Comando IF
if (condição)
{ ação para condição satisfeita }
[ else
{ ação para condição não satisfeita } ]
Ex.
if (Idade < 18)
{Categoria = "Menor" }
else
{Categoria = "Maior"}
14
7
COMANDOS CONDICIONAIS
Move condicional
receptor = ( (condição) ? verdadeiro : falso)
Ex.
NomeSexo = ((VarSexo == "M") ? "Masculino"
: "Feminino")
15
COMANDOS REPETIÇÃO
Comando FOR
for ( [inicialização/criação de variável
de controle ;]
[condição ;]
[incremento da variável de controle] )
{ ação }
Ex.
for (x = 0 ; x <= 10 ; x++)
{alert ("X igual a " + x) }
16
8
COMANDOS REPETIÇÃO
ComandoWHILE
Executa uma ação enquanto determinada
condição for verdadeira.
while (condição)
{ ação }
Ex.
var contador = 10
while (contador > 1)
{ contador-- }
17
IMPORTANTE SABER
Em FOR e WHILE:
pode-se usar a diretiva "break" para
interromper a condição principal e sair do
loop;
e a diretiva "continue“ para interromper uma
ação (se determinada condição ocorrer) e
voltar para o loop.
Diretivas/condições entre [ ] são opcionais.
18
9
EVENTOS
São fatos que ocorrem durante a execução
do sistema, a partir dos quais o programador
pode definir ações a serem realizadas pelo
programa.
Segue exemplo...
19
20
10
Eventos
Um evento é gerado como resultado de uma ação:
Um clique,
Um movimento do mouse,
O abandono da página
etc.
21
Exemplo:
22
11
Eventos
- Eventos possíveis;
23
24
12
onblur - Ocorre quando o objeto perde o focus,
independente de ter havido mudança.
Válido para os objetos Text, Select e Textarea.
13
Eventos dos objetos HTML
Objetos com representação visual
Todos exceto: <br>, <head>, <html>, <script>, <style>, <title>
<body> -
onload Na carga do documento
onunload Na descarga do documento (saída)
28
14
Associando código JavaScript ao
carregamento <html>
<head>
<title>Clicar no
Quando o documento for botão</title>
carregado (a página estiver </head>
visível) é chamada a função <body onload = 'load()' >
load() <input type="button"
value="Clique aqui"
onclick= 'touch()'
/>
</body>
</html>
29
Variáveis
Pode-se armazenar valores de qualquer tipo, por exemplo:
strings ou valores numéricos
Enquanto não forem iniciadas (1ª atribuição) armazenam o valor
especial: undefined <html>
<head>
Definição da variável <title>Clicar no botão</title>
var nome [ = expressão ] ; <script>
var mensage; //Para guardar o
Afetar a variável nome
function load() {
Consultar a variável mensage = prompt(“Seu nome?");
}
function touch() {
alert(mensage);
}
</script>
</head>
30
15
<html>
<head>
<title>Clicar no botão</title>
<script>
var mensage; //Para guardar o nome
function load() {
mensage = prompt("Seu nome?");
}
function touch() {
alert(mensage);
}
</script>
</head>
<body onload ='load()' >
<input type="button"
value="Clique aqui"
onclick='touch()'
/>
</body>
</html>
31
CRIANDO VARIÁVEIS
Variável é criada automaticamente, pela simples
associação de valores a mesma.
Ex. NovaVariavel = "Jose"
32
16
CRIANDO VARIÁVEIS
Obs:
A variável deverá ser definida como global se
for referenciada:
- por várias funções ou
- ou em uma parte do documento
33
CRIANDO VARIÁVEIS
Ex.
MinhaVariavel = “”
ou
var MinhaVariavel = “”.
34
17
Palavras reservadas
break delete function return typeof
case do if switch var
catch else in this void
continue false instanceof throw while
debugger finally new true with
default for null try
abstract double goto native static
boolean enum implements package super
byte export import private synchronize
char extends int protected d
throws
class final interface public transient
const float long short volatile
35
Objetos em JavaScript
Um objeto é uma coleção de propriedades
Cada propriedade tem um nome
• As propriedades armazenam valores que podem ser lidos
ou escritos.
• As propriedades que armazenam funções denominam-se
métodos, que podem ser chamados.
Nome do objeto
obj.method
(argumentos) Nome do método
36
18
Acessando o objeto document
Comentário de fim de linha
O documento HTML é ... // comentário
representado pelo objeto
document <html>
<head>
O objeto document tem <title>Clicar no botão</title>
várias propriedades, por <script>
exemplo: // Escreve o titulo
function touch() {
alert( document.title );
Nome Descrição }
title Título do documento </script>
</head>
url Endereço da página ...
Acesso a propriedade
objeto.propriedade
37
Objetos predefinidos
Existem três tipos de objetos:
• Intrínsecos da linguagem (ex: String, Math)
• Fornecidos pelo browser (ex: window, navigator)
• Criados pelo código em JavaScript.
19
ESCREVENDO NO DOCUMENTO
O JavaScript permite que o programador escreva
linhas dentro de uma página (documento), através
do método write.
As linhas escritas desta forma, podem conter:
textos, expressões JavaScript e comandos Html.
As linhas escritas através deste método aparecerão
no ponto da tela onde o comando for inserido.
Ex:
<script>
valor = 30;
document.write ("Minha primeira linha");
document.write ("Nesta linha aparecerá o resultado
de : " + (10 * 10 + valor));
</script>
39
Estudando o caso:
40
20
Este comando não causa efeito de mudança
de linha.
A solução é utilizar o comando de mudança
de parágrafo da linguagem Html.
Ex:
<script>
valor = 30;
document.write ("<p>Minha primeira linha</p>");
document.write ("<p>Nesta linha aparecerá o resultado
de : " + (10 * 10 + valor) + "</p>");
</script>
41
42
21
MENSAGENS
Formas de comunicação com o usuário:
1. Apenas Observação.
alert ( mensagem );
Ex.
alert ("Certifique-se de que as informações estão corretas")
43
22
FUNÇÕES
Uma função é uma seqüência de instruções,
que só deve ser executada quando a função
for acionada.
A sintaxe geral é a seguinte:
45
Funções
<html>
function nome(argumentos)
<head>
{
<title>Clicar no botão</title>
sequência de instruções
<script type="text/javascript"
}
>
function touch() {
Área de definição de código alert("Ola");
}
(em JavaScript)
</script>
A função touch não tem </head>
<body>
argumentos e contém uma só
<input type="button"
instrução
value="Clique aqui"
onclick='touch();' />
Chamada a função </body>
nome(argumentos) </html>
23
Suponha uma função que tenha como objetivo
informar se uma pessoa é maior ou menor de
idade, recebendo como parâmetro a sua idade.
47
48
24
<html> <body>
<head> <form>
<script> <input type=text size=2 maxlength=2
function Idade (Anos) { name="Tempo"
if (Anos > 17)
{ alert ("Maior de Idade"); } onchange="Idade(Tempo.value)">
else </form>
{ alert ("Menor de Idade"); } </body>
}
</script> </html>
</head>
<html>
<head>
<script>
function Idade (Anos) {
if (Anos > 17)
{ alert ("Maior de Idade"); }
else
{ alert ("Menor de Idade"); }
}
</script>
</head>
<body>
<form>
<input type=text size=2 maxlength=2 name="Tempo"
onchange="Idade(Tempo.value)">
</form>
</body>
</html>
50
25
FUNÇÕES INTRÍNSECAS
São funções embutidas na própria linguagem.
A sintaxe geral é a seguinte:
51
FUNÇÕES INTRÍNSECAS
ex1: Result = eval ( " (10 * 20) + 2 - 8");
Result = 194
52
26
Funções tipicamente Matemáticas
Math.abs(número) - retorna o valor absoluto do número
(ponto flutuante)
Math.ceil(número) - retorna o próximo valor inteiro maior
que o número
Math.floor(número) - retorna o próximo valor inteiro
menor que o número
Math.round(número) - retorna o valor inteiro,
arredondado, do número
Math.pow(base, expoente) - retorna o cálculo do
exponencial
Math.max(número1, número2) - retorna o maior número
dos dois fornecidos
Math.min(número1, número2) - retorna o menor número
dos dois fornecidos
53
54
27
Funções tipicamente Matemáticas
55
56
28
CRIANDO NOVAS INSTÂNCIAS
Através do operador new podem ser criadas novas
instâncias a objetos já existentes, mudando o seu
conteúdo, porém, mantendo suas propriedades.
A sintaxe geral é a seguinte:
NovoObjeto = new ObjetoExistente (parâmetros);
Ex1.
MinhaData = new Date ();
57
Ex3: Registro
Suponha a existência do seguinte objeto chamado
Empresas
29
CRIANDO NOVAS INSTÂNCIAS
59
Exemplo:
Um objeto tipo array de tamanho variável e com
a função de "limpar" o conteúdo das variáveis
cada vez que uma nova instância seja criada a
partir dele.
60
30
MANIPULANDO ARRAYS ?????
61
62
31
2.
atividade = new CriaArray(5);
atividade[0] = “Analista”;
atividade[1] = “Programador”;
atividade[2] = “Operador”;
atividade[3] = “Conferente”;
atividade[4] = “Digitador”;
63
Outra forma:
Criar novas instâncias dentro do próprio
objeto do array, o que proporciona o mesmo
efeito de se trabalhar com matriz.
Isso pode ser feito da seguinte forma:
64
32
function Empresas (Emp, Nfunc, Prod) {
this.Emp = Emp;
this.Nfunc = Nfunc;
this.Prod = Prod;
}
TabEmp = new Empresas(3);
TabEmp[1] = new Empresas("Elogica", "120","Serviços");
TabEmp[2] = new Empresas("Pitaco", "35","Software");
TabEmp[3] = new Empresas("Corisco", "42","Conectividade");
65
Obs:
É importante lembrar que, embora os exemplos
estejam com indexadores fixos, os indexadores
podem ser referências ao conteúdo de
variáveis (value).
66
33
MANIPULANDO STRING's
O JavaScript é bastante poderoso no manuseio de
String´s, fornecendo ao programador uma total
flexibilidade em seu manuseio.
Métodos disponíveis para manuseio de string´s:
string.length - retorna o tamanho da string
(quantidade de bytes)
string.charAt(posição) - retorna o caracter da
posição especificada (inicia em 0)
string.indexOf("string") - retorna o número da
posição onde começa a primeira "string"
67
string.lastindexOf("string") - retorna o
número da posição onde começa a última
"string"
string.substring(index1, index2) - retorna o
conteúdo da string que corresponde ao
intervalo especificado. Começando no
caracter posicionado em index1 e
terminando no caracter imediatamente
anterior ao valor especificado em index2.
68
34
Ex.
Todo = "Elogica"
Parte = Todo.substring(1, 4)
(A variável Parte receberá a palavra log)
69
MANIPULANDO DATAS
Existe apenas uma função para se obter a data
e a hora.
É a função Date().
70
35
Para se obter os dados separadamente, usa-se o
método get:
getDate() - Obtém o dia do mês (numérico de 1 a 31)
getDay() - Obtém o dia da semana (0 a 6)
getMonth() - Obtém o mês (numérico de 0 a 11)
getYear() - Obtém o ano
getHours() - Obtém a hora (numérico de 0 a 23)
getMinutes() - Obtém os minutos (numérico de 0 a 59)
getSeconds() - Obtém os segundos (numérico
de 0 a 59)
71
72
36
Gerando uma tabela com os dias da semana
e utilizando a variável DiaHoje como
indexador, para obter o dia da semana.
73
NomeDia[0] = "Domingo"
NomeDia[1] = "Segunda"
NomeDia[2] = "Terça"
NomeDia[3] = "Quarta"
NomeDia[4] = "Quinta"
NomeDia[5] = "Sexta"
NomeDia[6] = "Sábado"
DiaSemana = NomeDia[DiaHoje]
74
37
método set
Cria uma variável tipo Date com o conteúdo
informado pela aplicação.
São eles:
setDate, setDay, setMonth, setYear,
setHours, setMinutes e setSeconds.
DataToda.setMonth(10)
75
38