Java Script
Java Script
ÍNDICE
Algumas Considerações
Operadores Lógicos
Operadores Matemáticos
Controles Especiais
Comandos Condicionais
Eventos
Criando Variáveis
Escrevendo no Documento
Mensagens
CriandoFunções
Funções Intrínsecas
Criando Novas Instâncias de Objetos
Manipulando Arrays
Manipulando String’s
Manipulando Datas
Interagindo com o Usuário
Objeto Input TEXT
Objeto Input PASSWORD
Objeto Input HIDDEN
Objeto Input CHECKBOX
Objeto Input RADIO
Objeto Input BUTTON
Objeto Input RESET
Objeto Input SUBMIT
Objeto TEXTAREA
Objeto SELECT
Focando um Objeto
Usando TIMER e DATE
Escrevendo Textos Rolantes
Abrindo Novas Janelas
Download em formato Word95
ALGUMAS CONSIDERAÇÕES
JavaScript é uma linguagem que permite injetar lógica em páginas
escritas em HTML (HiperText Mark-up Language). As páginas HTML
podem ser escritas utilizando-se editores de texto, como o NotePad,
Write, etc. Porém, existem editores próprios para gerar HTML, tais como
HotDog e (mais recomendado) Microsoft FrontPage.
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
sequência em que aparecem na página (documento) e os atrelados a
eventos são executados apenas quando o evento ocorre.
Para inserir parágrafos de programação dentro do HTML é necessário
identificar o início e o fim do set de JavaScript, da seguinte forma:
<SCRIPT>
Set de instruções
</SCRIPT>
OPERADORES LÓGICOS
</
São operadores a serem utilizados em comandos condicionais, tais
como: IF , FOR e WHILE.
Os comandos condicionais serão vistos mais a frente.
== Igual
!= Diferente
> Maior
>= Maior ou Igual
< Menor
<= Menor ou Igual
&& E
|| Ou
Voltar
OPERADORES MATEMÁTICOS
São operadores a serem utilizados em cálculos, referências de
indexadores e manuseio de strings. Ao longo do manual estes
operadores serão largamente utilizados, dando, assim, uma noção mais
precisa do seu potencial.
+ adição de valor e concatenação de strings
- subtração de valores
* multiplicação de valores
/ divisão de valores
% obtem o resto de uma divisão:
Ex: 150 % 13 retornará 7
7 % 3 retornará 1
+= concatena /adiciona ao string/valor já existente. Ou seja:
x += y é o mesmo que x = x + y
da mesma forma podem ser utilizados: -= , *= , /= ou %=
Um contador pode ser simplificado utilizando-se : X++ ou X-- o que
equivale as expressões:
X = X + 1 ou X = X - 1 respectivamente.
Para inverter sinal: X = -X negativo para positivo ou positivo para
negativo.
Voltar
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.
COMANDOS CONDICIONAIS
São comandos que condicionam a execução de uma certa tarefa à
veracidade ou não de uma determinada condição, ou enquanto
determinada condição for verdadeira.
São eles:
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"}
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) }
Comando WHILE
Executa uma ação enquanto determinada condição for verdadeira.
while (condição)
{ ação }
Ex.
var contador = 10
while (contador > 1)
{ contador-- }
Move condicional
receptor = ( (condição) ? verdadeiro : falso)
Ex.
NomeSexo = ((VarSexo == "M") ? "Masculino" : "Feminino")
OBS:
Nos comandos FOR e WHILE a diretiva "break" pode ser utilizada
para interromper a condição principal e sair do loop. Da mesma
forma, a diretiva "continue" interrompe uma ação (se
determinada condição ocorrer) mas volta para o loop.
Diretivas/condições entre [ ] significam que são opcionais.
Voltar
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.
Abaixo apresentamos a lista dos eventos possíveis, indicando os
momentos em que os mesmos podem ocorrer, bem como, os objetos
passíveis de sua ocorrência.
onload - Ocorre na carga do documento. Ou seja, só ocorre no BODY do
documento.
onunload - Ocorre na descarga (saída) do documento. Também só
ocorre no BODY.
onchange - Ocorre quando o objeto perde o focus e houve mudança de
conteúdo. Válido para os objetos Text, Select e Textarea.
onblur - Ocorre quando o objeto perde o focus, independente de ter
havido mudança. Válido para os objetos Text, Select e Textarea.
onfocus - Ocorre quando o objeto recebe o focus. Válido para os objetos
Text, Select e Textarea.
onclick - Ocorre quando o objeto recebe um Click do Mouse. Válido para
os objetos Buton, Checkbox, Radio, Link, Reset e Submit.
onmouseover - Ocorre quando o ponteiro do mouse passa por sobre o
objeto. Válido apenas para Link.
onselect - Ocorre quando o objeto é selecionado. Válido para os objetos
Text e Textarea.
onsubmit - Ocorre quando um botão tipo Submit recebe um click do
mouse. Válido apenas para o Form.
Voltar
CRIANDO VARIÁVEIS
A variável é criada automaticamente, pela simples associação de valores
a mesma.
Ex. NovaVariavel = "Jose"
Foi criada a variável de nome NovaVariavel que, passou a conter a string
Jose.
As variáveis podem ser Locais ou Globais. As variáveis que são criadas
dentro de uma função são Locais e referenciáveis apenas dentro da
função. As variáveis criadas fora de funções são Globais, podendo serem
referenciadas em qualquer parte do documento.
Desta forma, variáveis que precisam ser referenciadas por várias
funções ou em outra parte do documento, precisam ser definidas como
globais.
Embora não seja recomendável, em uma função, pode ser definida uma
variável local com o mesmo nome de uma variável global. Para isso
utiliza-se o método de definição var.
Ex. Variável Global : MinhaVariavel = ""
Variável Local : var MinhaVariavel = ""
Voltar
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>
Isto resolve a questão da mudança de linha, porém, vai gerar uma linha
em branco, entre cada linha, por se tratar de mudança de parágrafo.
Caso não seja desejado a existência da linha em branco, a alternativa é
utilizar o comando Html <br> que apenas muda de linha.
Ex:
<script>
valor = 30
document.write ("<br>Minha primeira linha")
document.write ("<br>Nesta linha aparecerá o resultado de : " + (10 *
10 + valor) )
</script>
Voltar
MENSAGENS
Existem três formas de comunicação com o usuário através de
mensagens.
Apenas Observação.
alert ( mensagem )
Ex. alert ("Certifique-se de que as informações estão corretas")
Mensagem que retorna confirmação de OK ou CANCELAR
confirm (mensagem)
Ex.
if (confirm ("Algo está errado...devo continuar??"))
{ alert("Continuando") }
else
{ alert("Parando") }
Recebe mensagem via caixa de texto Input
Receptor = prompt ("Minha mensagem", "Meu texto")
Onde:
Receptor é o campo que vai receber a informação digitada pelo usuário
Minha mensagem é a mensagem que vai aparecer como Label da caixa
de input
Meu texto é um texto, opcional, que aparecerá na linha de digitação do
usuário
Ex.
Entrada = prompt("Informe uma expressão matemática", "") Resultado
= eval(Entrada) document.write("O resultado é = " + Resultado)
Voltar
CRIANDO FUNÇÕES
Uma função é um set de instruções, que só devem ser executadas
quando a função for acionada.
A sintaxe geral é a seguinte:
function NomeFunção (Parâmetros)
{ Ação }
Suponha uma função que tenha como objetivo informar se uma pessoa é
maior ou menor de idade, recebendo como parâmetro a sua idade.
function Idade (Anos) {
if (Anos > 17)
{ alert ("Maior de Idade") }
else
{ alert ("menor de Idade") }
}
Voltar
FUNÇÕES INTRÍNSECAS
São funções embutidas na própria linguagem. A sintaxe geral é a
seguinte:
Result = função (informação a ser processada)
- eval = Calcula o conteúdo da string
- parseInt - Transforma string em inteiro
- parseFloat - Transforma string em número com ponto flutuante
- date() - Retorna a data e a hora (veja o capítulo manipulando datas)
Observação:
Em todas as funções, quando apresentamos a expressão
"(número)", na verdade queremos nos referir a um argumento
que será processado pela função e que poderá ser: um número,
uma variável ou o conteúdo de um objeto (propriedade value).
Voltar
MANIPULANDO ARRAYS
O JavaScript não tem um tipo de dado ou objeto para manipular arrays.
Por isso, para trabalhar com arrays é necessário a criação de um objeto
com a propriedade de criação de um array.
No exemplo abaixo, criaremos 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.
function CriaArray (n) {
this.length = n
for (var i = 1 ; i <= n ; i++)
{ this[i] = "" } }
Agora podemos criar novas instâncias do objeto "CriaArray" e alimentá-
los com os dados necessários.
NomeDia = new CriaArray(7)
NomeDia[0] = "Domingo"
NomeDia[1] = "Segunda"
NomeDia [2] = "Terça"
NomeDia[3] = "Quarta"
NomeDia[4] = "Quinta"
NomeDia[5] = "Sexta"
NomeDia[6] = "Sábado"
Obs:
É importante lembrar que, embora os exemplos estejam com
indexadores fixos, os indexadores podem ser referências ao
conteúdo de variáveis.
Voltar
MANIPULANDO STRING’s
O JavaScript é bastante poderoso no manuseio de String´s, fornecendo
ao programador uma total flexibilidade em seu manuseio.
Abaixo apresentamos os 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"
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.
Ex.
Todo = "Elogica"
Parte = Todo.substring(1, 4)
MANIPULANDO DATAS
Existe apenas uma função para que se possa obter a data e a hora. É a
função Date(). Esta função
devolve data e hora no formato:Dia da semana, Nome do mês, Dia do
mês, Hora:Minuto:Segundo e
Ano
Ex.
Fri May 24 16:58:02 1996
Para obter o dia da semana alfa, teremos que construir uma tabela com
os dias da semana e utilizar a variável DiaHoje como indexador.
function CriaTab (n) {
this.length = n
for (var x = 1 ; x<= n ; x++)
{ this[x] = "" } }
NomeDia = new CriaTab(7)
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]
Para criar uma variável tipo Date com o conteúdo informado pela
aplicação, existe o método set. Assim, temos os seguintes métodos:
setDate, setDay, setMonth, setYear, setHours, setMinutes e setSeconds.
Seguindo o exemplo acima, para mudar o mês para novembro, teríamos:
DataToda.setMonth(10)
Exemplos adicionais serão encontrados no capítulo "Usando Timer e
Date".
Voltar
INTERAGINDO COM O USUÁRIO
A interação com o usuário se dá através de objetos para entrada de
dados (textos), marcação de opções (radio, checkbox e combo), botões
e link’s para outras páginas.
Conceitualmente, os objetos são divididos em: Input, Textarea e Select.
O objeto Input divide-se (propriedade Type) em:
Password
Text
Hidden
Checkbox
Radio
Button
Reset
Submit
Voltar
Voltar
Ex:
<form name="THidden">
<input type=hidden size=20 maxlength=30 name="HdTexto" value=""
>
</form>
</p>
Voltar
Voltar
Voltar
Voltar
Objeto TEXTAREA
É um objeto para entrada de dados em um campo de múltiplas linhas.
Suas principais propriedades são: name, rows e cols.
name : Especifica o nome do objeto rows : Especifica a quantidade de
linhas que aparecerão na tela cols : Especifica a quantidade de
caracteres que aparecerão em cada linha value : Acessa o conteúdo do
campo via programação.
Os eventos associados a este objeto são: onchange, onblur, onfocus e
onselect.
Ex:
<form name="TesteTextarea">
<p>
Texto de Múltiplas Linhas <textarea name="MultText" rows=2 cols=40>
Primeira linha do texto inicial
segunda linha do texto inicial
</textarea>
</p>
Voltar
Objeto SELECT
É um objeto para entrada de opções, onde o usuário, a partir de uma
lista de alternativas, seleciona uma ou mais opções.
Suas principais propriedades são: name, size, value e multiple.
name : Especifica o nome do objeto size : Especifica a quantidade de
opções que aparecerão na tela simultaneamente value : Associa um
valor ou string para cada opção (opcional) multiple : Especifica a
condição de múltipla escolha (usando-se a tecla Ctrl)
Para utilização deste objeto é importante o conhecimento de outras
propriedades associadas:
Objeto.length : Retorna a quantidade de opções existentes na lista
Objeto.selectedindex : Retorna o "index" do objeto selecionado (primeiro
= 0)
Objeto.options[index].text : retorna o texto externo associado a cada
opção
Objeto.options[index].value : retorna o texto interno (value) associado a
cada opção
Objeto.options[index].selected : retorna verdadeiro ou falso
Os eventos associados a este objeto são: onchange, onblur e onfocus.
Ex1:
Neste exemplo é importante observar os seguintes aspectos:
a) A lista permite apenas uma seleção
b) A quarta opção aparecerá inicialmente selecionada (propriedade
"selected")
c) Não utilizamos a propriedade "value". Assim, a propriedade
"text" e a propriedade "value" passam a ter o mesmo valor, ou
seja, o valor externo que aparece na tela.
.
<script>
function Verselect(Campo) {
Icombo = Campo.selectedIndex
alert ("Voce escolheu " + Campo.options[Icombo].text) }
</script>
<p>
Objeto Select <select name="Combo1" size=1
onchange="Verselect(Combo1)">
<option>Opcao 1
<option>Opcao 2
<option>Opcao 3
<option selected>Opcao 4 (recomendada)
<option>Opcao 5
<option>Opcao 6
</select>
</p>
Ex2:
Neste exemplo é importante observar os seguintes aspectos:
a) A lista permite múltiplas seleções
b) Utilizamos a propriedade "value". Assim as propriedades "text" e
"value" têm valores diferentes: text retornará Escolha 1 a Escolha 4 e
value retornará List1 a List4.
c) O parâmetro passado, quando da ocorrência do evento onblur, foi
this.
Esta diretiva significa que estamos passando este objeto.
.
<script>
function Vermult(Lista) {
var opcoes = ""
for (i = 0 ; i < Lista.length ; i++) {
if (Lista.options[i].selected) {
opcoes += (Lista.options[i].value + ", ") }
}
alert ("As opcoes escolhidas foram : " + opcoes) }
</script>
<p>
Objeto Select2 <select name="Combo2" size=4 multiple
onblur="Vermult(this)">
<option value="List1">Escolha 1 </option>
<option value="List2">Escolha 2 </option>
<option value="List3">Escolha 3 </option>
<option value="List4">Escolha 4 </option>
</select>
</p>
Voltar
Focando um Objeto
Este método permite que o cursor seja ativado em um determinado
objeto (focado). Isso pode ser feito na carga do documento, a partir da
ocorrência de um evento ou mesmo dentro de uma função. Observe que
até agora o usuário tinha que dar um "Click" para focar o objeto
desejado.
De forma semelhante existe o método "Select". Este método marca o
conteúdo do objeto com uma tarja roxa, permitindo ao usuário, em caso
de substituição do conteúdo do campo, não ter que deletar o conteúdo
anterior, pois, com este método, a deleção se dá de forma automática
quando da digitação do novo conteúdo.
Os métodos "Focus" e "Select" podem ser utilizados nos seguintes
objetos:
password, select, text e textarea
No exemplo abaixo, utilizaremos o evento onload para setar o focus para
o primeiro objeto do formulário e os métodos focus e select para, na
rotina de crítica dos dados, focar o objeto que contiver erro de
preenchimento.
Ex.
<body onload="document.TstFocus.Nome.focus()">
<script>
DdosOk = true
function Criticar() {
DadosOk = false
DataAtual = new Date()
MesAtual = DataAtual.getMonth() + 1
AnoAtual = DataAtual.getYear() + 1900
Nome = document.TstFocus.Nome.value
Mes = parseInt(document.TstFocus.Mes.value)
Ano = parseInt (document.TstFocus.Ano.value)
//
if (Ano < 1900)
{Ano = Ano + 1900 } if (Nome == "")
{ alert ("Informe o seu Nome, Não deixe em branco")
document.TstFocus.Nome.focus()
return }
if (Mes < 1 || Mes > 12)
{ alert ("O Mês informado não é válido, informe corretamente")
document.TstFocus.Mes.focus()
document.TstFocus.Mes.select()
return }
if (Ano == AnoAtual && Mes > MesAtual)
{ alert ("O período informado é superior a data atual")
document.TstFocus.Mes.focus()
document.TstFocus.Mes.select()
return }
if (Ano < 1996 || Ano > AnoAtual)
{ alert ("O Ano informado não é válido, informe corretamente")
document.TstFocus.Ano.focus()
document.TstFocus.Ano.select()
return }
DadosOk = true
}
</script>
<form name="TstFocus" method="POST">
<p>
Informe o seu Nome <input type=text size=30 maxlength=30
name="Nome">
</p>
<p> Informe o mês desejado <input type=text size=2 maxlength=2
name="Mes">
</p>
<p> Informe o ano desejado <input type=text size=4 maxlength=4
name="Ano" >
</p>
<p> <input type=button name="Testa" value="Testar Validade"
onclick="Criticar()
if (DadosOk)
{alert (‘Todos os Dados estão Corretos’) } ">
</p>
</form>
</body>
Voltar
Voltar
Voltar
Voltar