Amirton Chagas
http://amirton.wordpress.com
amirton@proativasolucoes.com
Este trabalho está licenciado sob
uma Licença Creative Commons
Atribuição 2.5 Brasil. Para ver
uma cópia desta licença, visite
http://creativecommons.org/lice
nses/by/2.5/br/ ou envie uma
carta para Creative Commons,
171 Second Street, Suite 300,
San Francisco, California 94105,
USA.

Não tem lógica

Apenas posicionamento/layout

Provê lógica
 Dinâmica para o documento

Client-Side

Enriquece a experiência do usuário
 As vezes atrapalha…

JavaScript IS NOT Java!

O código JavaScript pode estar
 No documento
▪ <script type=“text/javascript”>
function olaMundo(){
alert(‘Hello World!’);
}
 Em arquivo separado
▪ <script type=“text/javascript” src=“olaMundo.js”>

Espaço de memória utilizado para armazenar um valor

Nome da variável é case-sensitive
 pacoteWeb != pacoteweb

Não tipado

Não é necessário declarar a variável
 CUIDADO!
 var contador = 1;
Contador++;
▪ Roda sem erros e dá dor de cabeça para descobrir porque não está
funcionando…

Bloco de operações a serem realizadas em
sequência

Podem receber valores (parâmetros)
 alert(‘Texto do alerta’);

Podem retornar algum valor
 confirm(‘Realmente deseja continuar?’)
▪ Retorna verdadeiro se o usuário escolheu Sim, falso caso
contrário

Comparam dois elementos, retornando true ou
false








==
!=
>
>=
<
<=
&&
||
Igual
Diferente
Maior
Maior ou igual
Menor
Menor ou igual
E (todos true para retornar true)
Ou (pelo menos um true para retornar true)

Um script tem um fluxo de execução

Deve ser necessário para ele escolher certos
trechos de código para serem executados no
momento apropriado

Execução condicional serve exatamente para
este propósito
 Testa-se uma condição, e executa-se o código de
acordo com o resultado deste teste.

if (condição) {
//código executado se a condição for verdadeira
} else if (outra condição) {
//código executado se “condição” é falso e “outra condição” for verdadeiro
} else {
//código executado se todas as condições testadas forem falsas
}

Semelhante ao if
 Usado quando o comportamento varia de acordo
com diferentes valores que uma única variável
pode assumir

Os scripts geralmente precisam executar
tarefas iguais repetidas vezes para valores
diferentes

Controles de loop realizam isto de forma
controlada

while(condicao){
//código executado enquanto a condição for verdadeira
}

Cuidado… condição pode nunca ficar falsa
 Loop infinito

Código pode nunca ser executado
 Condição pode ser falsa na primeira execução

do {
//código a ser executado
} while (condição)

Semelhante a While
 Com a garantia que o código será executado pelo
menos uma vez

for (var i = 0; i < 10; i++){
//Código que, a princípio, será executado 10 vezes
}

Mais controlado que o while
 Cuidado para não alterar indiscriminadamente o
valor do contador no código
▪ Loop infinito…

As vezes é necessário quebrar um loop antes
do esperado
 Antes da condição ficar falsa
 Antes do contador chegar ao limite

Break faz isto
 Cuidado
▪ Legibilidade do código pode ser prejudicada

+
Adição

-
Subtração

*
Multiplicação

/
Divisão

%
Resto da divisão inteira

++ Incremento em 1

--
Decremento em 1

Classe Math
 Math.pow(x,y) = xy
 Math.min(x,y) = menor entre x e y
 Math.max(x,y) = maior entre x e y
 Math.random = numero aleatório
▪ [0,1)
 Ver outras no autocomplete do Aptana

São acontecimentos que ocorrem enquanto a
página está sendo carregada e exibida no
browser
 Podem ser ações do usuário, como um clique
 Podem ser fases do ciclo de vida da página, como a
conclusão do carregamento do documento

Cada tag suporta o disparo de determinados
eventos
 Antes de usar, verificar referência em [[W3 School]]

O script pode manipular a janela do browser
que contém o seu documento

O objeto window serve exatamente para
expor os pontos que o script pode manipular

window.alert(‘aviso’);
 Mostra um alerta para o usuário

window.confirm(‘pergunta’);
 Mostra uma pergunta para o usuário. Retorna true se
o usuário escolher Sim, false caso contrário

window.prompt(‘pergunta’, ‘valor padrao’)
 Faz uma pergunta ao usuário, esperando uma
resposta em texto. Retorna o texto digitado pelo
usuário.

window.location = ‘http://www.cin.ufpe.br’
 Leva a janela do usuário à URL especificada

window.back() / window.forward()
 Mesmo que clicar no botão voltar/avançar do browser

window.close()
 Fecha a janela
▪ Alguns browsers pedem confirmação do usuário

Explorar outros no Aptana

Representação do documento

document.write(‘código HTML’)
 Injeta código no documento

document.writeln(‘código HTML’)
 Injeta uma linha de código no documento

document. getElementById(‘id’)
 Retorna o elemento da id informada

Incompatibilidade entre browsers

Dificuldade para escrever códigos simples

Linguagem error-prone

Solução para os problemas citados

Facilita manipulação da página
 Funções para alterar a estrutura da página
abstraindo a complexidade do DOM

A Licença Simplificada não é uma licença
propriamente dita. Ela é apenas uma referência útil
para entender a Licença Jurídica (a licença integral) ela é uma expressão dos seus termos-chave que pode
ser compreendida por qualquer pessoa. A Licença
Simplifica em si não tem valor legal e seu conteúdo
não aparece na licença integral.

O Creative Commons não é um escritório de
advocacia e não presta serviços jurídicos. A
distribuição, exibição ou inclusão de links para esta
Licença Simplificada não estabelece qualquer relação
advocatícia.
Download

Pacote Web - JavaScript