Softblue Ebook JavaScript
Softblue Ebook JavaScript
Softblue
ndré Milani
Softblue
Sumário
Apresentação............................................................................................................................... 4
Disclosure .................................................................................................................................... 5
1. Introdução ........................................................................................................................... 6
2. O que é JavaScript .............................................................................................................. 7
2.1. Versões e compatibilidade com navegadores ............................................................. 7
2.2. Como programar em JavaScript .................................................................................... 8
3. Variáveis ............................................................................................................................ 10
3.1. Tipos de dados ............................................................................................................... 12
3.2. Propriedades de strings ................................................................................................ 14
4. Operadores ........................................................................................................................ 19
4.1. Operadores aritméticos ................................................................................................ 19
4.2. Operadores lógicos........................................................................................................ 21
5. Comandos de tomada de decisão .................................................................................. 25
5.1. Comando if ..................................................................................................................... 25
5.2. Comando switch ............................................................................................................ 29
6. Comandos de repetição ................................................................................................... 32
6.1. Comando for .................................................................................................................. 32
6.2. Comando for in .............................................................................................................. 34
6.3. Comando while ............................................................................................................. 35
6.4. Comando do while ........................................................................................................ 36
7. Funções .............................................................................................................................. 39
8. Eventos............................................................................................................................... 43
9. Caixas de diálogo ............................................................................................................. 47
9.1. Caixa de diálogo alert ................................................................................................... 47
9.2. Caixa de diálogo confirm ............................................................................................. 47
9.3. Caixa de diálogo prompt .............................................................................................. 49
10. Abrindo uma URL........................................................................................................ 51
11. Agendando execução de códigos ............................................................................... 53
12. Alterando uma imagem via JavaScript ..................................................................... 55
13. Objeto form ................................................................................................................... 57
13.1. Montando um formulário HTML ............................................................................. 57
13.2. Capturando dados de campos texto ......................................................................... 60
13.3. Capturando dados de campos de seleção (combo box) ......................................... 60
13.4. Capturando dados em campos de marcação (checkbox) ...................................... 62
13.5. Capturando dados de campos de rádio (radio buttom) ........................................ 63
13.6. Validando dados de um formulário e enviando-o ao servidor ............................ 64
14. Próximos passos ........................................................................................................... 68
Lista de Figuras......................................................................................................................... 69
Lista de Tabelas ........................................................................................................................ 70
Lista de Códigos-Fonte ............................................................................................................ 71
Índice Remissivo....................................................................................................................... 72
4
Apresentação
A Softblue é uma empresa de cursos online na área de programação. Fundada em 2003
na cidade de Curitiba-PR, a empresa conta atualmente com um grande portfólio de
cursos e dezenas de milhares de alunos espalhados em dezenas de países pelo mundo.
Este e-book foi criado por André Milani, sócio fundador da Softblue. André Milani é
formado em Ciência da Computação pela PUC-PR, pós-graduado em Business
Intelligence pela mesma instituição e possui diversas certificações na área de TI. É
também autor de vários livros na área de informática, entre eles o Programando para
iPhone e iPad, MySQL - Guia do Programador e Construindo Aplicações Web com PHP &
MySQL, todos pela editora Novatec. Atua desde 2003 com desenvolvimento web e
treinamentos de profissionais. Também é desenvolvedor de aplicativos para o
ambiente iOS da Apple, possuindo aplicações que juntas somam mais de 50.000
downloads na AppStore.
5
Disclosure
Este e-book foi elaborado pela Softblue e é de uso exclusivo de seu destinatário. Seu
conteúdo não pode ser reproduzido ou distribuído, no todo ou em parte, a qualquer
terceiro sem autorização expressa.
1. Introdução
Ter conhecimentos em JavaScript é outra característica que deve ser possuída pelos
desenvolvedores que pretendem atuar no segmento web de alguma forma. Portanto, se
você não conhece ou não tem praticado sua programação em JavaScript recentemente,
aproveite este livro para conhecer ou até mesmo relembrar os principais fundamentos
desta tecnologia.
2. O que é JavaScript
Por ser uma linguagem interpretada no lado cliente, nos navegadores web dos
visitantes de sites e portais na internet, sua utilização permite programar ações para
serem realizadas diretamente neste lado da operação, como validação de campos em
formulários, interações com o usuário e diversas outras funcionalidades.
A evolução da linguagem continua até hoje. Por ser uma linguagem interpretada
pelos navegadores web, é necessário manter o seu navegador sempre atualizado para a
versão mais recente, pois somente assim a linguagem poderá ser interpretada de
acordo com as novidades mais atuais da tecnologia.
<script>
/*
Bloco de código JavaScript
*/
</script>
Comentários ainda podem ser realizados por meio do operador //, que representa o
comentário da linha em questão como comentário, conforme mostra o exemplo a
seguir:
<script>
// Bloco de código JavaScript
</script>
9
<script src="nome_do_seu_arquivo.js"></script>
3. Variáveis
Agora que você já sabe um pouco mais sobre como relacionar suas páginas com os
códigos JavaScript, vamos começar a aprender a programar nessa linguagem. O
primeiro conceito que será abordado é a criação e uso de variáveis. Declarar e utilizar
uma variável nesta linguagem é algo muito simples de ser feito. Basta utilizar a palavra
reservada var e indicar o nome da variável, como mostra o exemplo a seguir:
01 <!DOCTYPE html>
02 <html lang="pt-br">
03 <head>
04 <meta charset="utf-8">
05 <title>JavaScript é na Softblue!</title>
06 </head>
07 <body>
08 <script>
09
10 // Declarando uma variável chamada var1
11 var var1;
12
13 // Declarando uma variável chamada larguraTabela
14 var larguraTabela;
15
16 // Declarando uma variável chamada alfa, e outra chamada beta, na mesma linha
17 var alfa, beta;
18
19 </script>
20 </body>
21 </html>
Cada instrução da linguagem JavaScript deve ser finalizada por meio do operador
ponto e vírgula (;), como é apresentado no final de cada linha de declaração de
variável, por exemplo. A falta ou esquecimento deste operador poderá gerar erros na
execução do código.
Após declarar variáveis, é possível atribuir valores para elas. Para atrelar valores a
uma variável utilize o operador de atribuição = (sinal de igual) seguido do valor que
11
deseja atribuir. Caso o valor em questão seja numérico, o mesmo pode ser informado
diretamente, utilizando o operador ponto (.) para separar as casas decimais, caso
existam. Para atribuir textos, use aspas no início e fim dos mesmos. Observe no
exemplo a seguir o uso do operador de atribuição de valores para definir algumas
variáveis:
01 <!DOCTYPE html>
02 <html lang="pt-br">
03 <head>
04 <meta charset="utf-8">
05 <title>JavaScript é na Softblue!</title>
06 </head>
07 <body>
08 <script>
09
10 var alfa;
11 alfa = 3;
12
13 var beta = 'E-book de JavaScript';
14
15 document.write('O valor de alfa é: ' + alfa);
16 document.write('<br>');
17 document.write('O valor de beta é: ' + beta);
18
19 </script>
20 </body>
21 </html>
No Código-Fonte 3-2 foi criada a variável alfa na linha 10, e o valor 3 numérico foi
atribuído para ela na linha 11. Já no caso da variável beta apresentada na linha 12, a
atribuição de valor foi feita na mesma linha da sua criação, atrelando neste caso o texto
E-book de JavaScript a ela.
01 <!DOCTYPE html>
02 <html lang="pt-br">
03 <head>
04 <meta charset="utf-8">
05 <title>JavaScript é na Softblue!</title>
06 </head>
13
07 <body>
08 <script>
09
10 var alfa = "André ";
11 var beta = 'Milani';
12 var gama = alfa + beta;
13 document.write(gama + "<br>");
14
15 var x = 10;
16 var y = 15.5;
17 var z = x + y;
18 document.write(z + "<br>");
19
20 var resultado = true;
21 document.write(resultado + "<br>");
22
23 var resultado = false;
24 document.write(resultado + "<br>");
25
26 var lista = new Array("Maçã", "Laranja", "Abacaxi");
27 document.write(lista[0] + "<br>");
28 document.write(lista[1] + "<br>");
29 document.write(lista[2] + "<br>");
30
31 </script>
32 </body>
33 </html>
Uma operação de concatenação foi realizada na linha 13, unindo os textos contidos
em alfa e beta e atribuindo este resultado à variável gama, impressa na linha 14,
concatenando na impressão também a marcação <br>. Neste momento, a variável gama
contém o texto André Milani, que é impresso na tela junto com uma quebra de linha
(<br>).
Por último, a linha 26 apresenta uma variável armazenando um objeto do tipo Array
do JavaScript. Arrays são conjuntos de elementos ou listas, se você preferir. Neste caso,
para acessar cada uma das posições, é necessário acrescentar colchetes depois do nome
da variável que faz referência ao array e, dentro deles, colocar a posição desejada,
como mostram as linhas 27, 28 e 29, imprimindo as posições 0, 1 e 2 do array em
questão. A numeração dos índices dos elementos contidos em arrays sempre inicia em
0.
01 <!DOCTYPE html>
02 <html lang="pt-br">
03 <head>
04 <meta charset="utf-8">
05 <title>JavaScript é na Softblue!</title>
15
06 </head>
07 <body>
08 <script>
09
10 var texto = "JavaScript é na Softblue!";
11 document.write("O texto tem " + texto.length + " posições.<br>");
12
13 var posicao = texto.indexOf("Softblue");
14 document.write("Resultado da busca 'Softblue': " + posicao + "<br>");
15
16 posicao = texto.indexOf("Servidor");
17 document.write("Resultado da busca 'Servidor': " + posicao + "<br>");
18
19 var trecho = texto.substring(4, 10);
20 document.write("Trecho entre posições 4 e 10: " + trecho);
21
22 </script>
23 </body>
24 </html>
JavaScript é na Softblue!
0000000000111111111122222
0123456789012345678901234
JavaScript é na Softblue!
0000000001111111111222222
1234567890123456789012345
O uso dos índices numéricos fica ainda mais evidente ao utilizar o método
substring, conforme apresentado na linha 19 do Código-Fonte 3-4. Este método captura
uma cópia do conteúdo existente entre o índice numérico informado no primeiro
parâmetro (no caso, 4) e o índice informado no segundo parâmetro (no caso, 10),
apresentando a palavra Script como retorno da operação.
Observe que este método inclui o caractere existente na posição 4 (letra S), mas não
inclui o caractere da posição 10 (espaço em branco). Para que a letra t da palavra Script
aparecesse no resultado, mesmo ela estando posicionada na posição 9 da string, seria
necessário informar um caractere a mais para o método substring.
01 <!DOCTYPE html>
02 <html lang="pt-br">
03 <head>
04 <meta charset="utf-8">
05 <title>JavaScript é na Softblue!</title>
06 </head>
07 <body>
08 <script>
09
10 var texto = "JavaScript é na Softblue!";
11 var posicao = texto.indexOf("a");
12
13 while(posicao != -1)
14 {
15 document.write("Posição: " + posicao + "<br>");
16 posicao = texto.indexOf("a", posicao+1);
17 }
18
19 </script>
20 </body>
21 </html>
No Código-Fonte 3-5 foi realizada uma primeira busca pelo caractere a, na linha 12,
armazenando o índice na variável posicao. Se nenhuma ocorrência for encontrada, a
condição apresentada na linha 14 para execução do laço de repetição while não é
atendida, pois -1 é retornado, não imprimindo o valor da variável posicao e não
realizando uma nova busca pela próxima ocorrência.
Já se a busca retornar um valor diferente de -1, significa que uma ocorrência foi
encontrada. Neste caso, o laço de repetição while imprime na tela a posição em questão
por meio da linha 16 do Código-Fonte 3-5 e, logo em seguida na linha 17, realiza a
18
busca pela próxima ocorrência. Observe que esta operação de nova busca faz o uso do
método indexOf com dois parâmetros, informando no segundo parâmetro a posição de
onde a nova busca deve iniciar, que no caso é a posição atual da ocorrência encontrada
(valor contido na variável posicao) acrescida de uma posição. Ou seja, a busca é
iniciada a partir do próximo caractere.
4. Operadores
01 <!DOCTYPE html>
20
02 <html lang="pt-br">
03 <head>
04 <meta charset="utf-8">
05 <title>JavaScript é na Softblue!</title>
06 </head>
07 <body>
08 <script>
09
10 var a = 1;
11 var resultado = 0;
12 resultado = a + a + a;
13 document.write(resultado + "<br>"); // Exibe o valor 3
14
15 var b = 5, c = 8;
16 resultado = a + 1 - b * (c % b);
17 document.write(resultado + "<br>"); // Exibe o valor -13
18
19 </script>
20 </body>
21 </html>
Já na linha 15 são declaradas mais duas variáveis: b com o valor 5 e c com o valor 8.
Dessa forma, uma nova expressão matemática é construída na linha 16 da seguinte
forma: a + 1 – b * (c % b). Substituindo as variáveis por seus respectivos valores
numéricos, a expressão pode ser interpretada desse modo: 1 + 1 – 5 * (8 % 5). Neste
caso, a ordem em que as operações são realizadas obedecem as regras da matemática.
Inicialmente temos a resolução do que está entre parênteses: (8 % 5). Esta operação
calcula o resto da divisão de 8 por 5, que é 3, avançando nossa expressão para 1 + 1 – 5
* 3. Em seguida, a operação de multiplicação tem preferência, multiplicando 5 por 3,
21
que resulta em 15, avançando a expressão para 1 + 1 – 15. Na sequência, temos a soma
de 1 + 1 subtraído 15, resultando em -13, valor que é impresso na linha 17.
& a & b Retorna true se ambos os valores de a e b forem true, avaliando sempre
ambos os lados da expressão.
=== a === b Retorna true se o valor de a e b forem iguais e do mesmo tipo de dados.
22
!== a !== b Retorna true se o valor de a e b forem diferentes ou caso sejam de tipos de
dados diferentes.
Para ficar mais claro o uso dos operadores lógicos, serão apresentados a seguir
alguns exemplos:
01 <!DOCTYPE html>
02 <html lang="pt-br">
03 <head>
04 <meta charset="utf-8">
05 <title>JavaScript é na Softblue!</title>
06 </head>
07 <body>
08 <script>
09
10 var a;
11 var resultado;
12
13 a = true;
14 resultado = !a;
15 document.write(resultado + "<br>"); // Imprime false
16
17 resultado = true && true;
18 document.write(resultado + "<br>"); // Imprime true
19
20 resultado = true && false;
21 document.write(resultado + "<br>"); // Imprime false
22
23 resultado = true || false;
24 document.write(resultado + "<br>"); // Imprime true
25
26 resultado = 5 == 5;
27 document.write(resultado + "<br>"); // Imprime true
28
29 resultado = 5 == 6;
30 document.write(resultado + "<br>"); // Imprime false
31
32 resultado = 5 < 6;
33 document.write(resultado + "<br>"); // Imprime true
34
35 resultado = 3 == "3";
36 document.write(resultado + "<br>"); // Imprime true
37
38 resultado = 3 == 3;
39 document.write(resultado + "<br>"); // Imprime true
40
41 resultado = 3 === "3";
23
No Código-Fonte 4-2 temos a primeira operação lógica na linha 14, negando o valor
contido na variável a, que foi definida na linha anterior com o valor true. Nesta
operação, seu valor negado (false) foi atribuído para a variável resultado, que é
impressa na tela por meio da instrução existente na linha 15.
A próxima operação lógica existente é a da linha 17, que faz o uso do operador &&.
Este operador só resulta em true caso ambos os valores sejam verdadeiros, que é o que
ocorre nesta operação, impresso pela linha 18.
O mesmo operador && é utilizado na expressão da linha 20, mas desta vez com um
dos operandos sendo false, apenas para ilustrar que neste caso a operação resulta em
false, valor impresso pela linha 21.
A linha 23 ilustra um exemplo de uso do operador ||, que retorna true caso um dos
operandos seja true. Neste caso, true é impresso na tela por meio do comando existente
na linha 24.
Não querendo dificultar ainda mais o processo, mas fica mais interessante ainda
conhecer a diferença de = e == para o operador ===. O operador === compara se os
operandos possuem o mesmo valor e se são do mesmo tipo de dado.
Por exemplo, na linha 35 temos a comparação 3 == "3", que resulta em true, pois o
operador == compara se ambos os valores são iguais, sem levar em consideração seus
tipos de dados. Observe neste exemplo que o valor 3 é do tipo numérico, enquanto "3",
por ser apresentado entre aspas, é do tipo texto. Essa mesma comparação feita com o
operador === na linha 41 retorna false, pois apesar dos valores serem os mesmos, não
são do mesmo tipo de dado. Portanto muita atenção com estes pequenos detalhes das
linguagens de programação, pois eles tiram o sono de muitos programadores!
25
Um dos principais recursos responsáveis por dar vida aos sistemas no mundo da
programação são os comandos de tomada de decisão, por permitirem mudar os rumos
da execução de um código baseado na análise de expressões condicionais.
5.1. Comando if
O comando if analisa uma sentença condicional e, caso a mesma resulte em true, seu
bloco de código é executado. Caso a sentença avaliada retorne false, o bloco de código
associado ao comando if é ignorado, não sendo executado.
if(condição)
{
/* Bloco de código caso a sentença retorne true */
}
01 <!DOCTYPE html>
02 <html lang="pt-br">
03 <head>
04 <meta charset="utf-8">
05 <title>JavaScript é na Softblue!</title>
06 </head>
07 <body>
08 <script>
09
10 var alfa = 4, beta = 5;
11
12 if(alfa > beta)
13 {
14 document.write('alfa é maior do que beta');
15 }
16
17 if(alfa == 4)
18 {
19 document.write('alfa é quatro');
20 }
21
26
22 </script>
23 </body>
24 </html>
Sinta-se a vontade para mudar o valor de alfa para 6 ou qualquer outro valor maior
do que o definido para a variável beta, salvar o arquivo e executá-lo novamente, para
ver desta vez a sentença alfa é maior do que beta ser impressa na tela.
O comando if pode ser ainda complementado por um bloco else, que por sua vez
será executado somente se a condição do bloco if não for avaliada como verdadeira.
Por exemplo, caso você esteja avaliando a idade de um usuário para permitir ou não a
sua inscrição na autoescola, você pode avaliar na condição do comando if a sentença
idade >= 18 para que o bloco de código seja executado caso a idade seja igual ou maior
que 18, e pode opcionalmente criar o bloco else indicando alguma ação para ser
realizada caso a condição avaliada no comando if não seja verdadeira. A seguir, um
exemplo de utilização do comando else:
01 <!DOCTYPE html>
02 <html lang="pt-br">
03 <head>
04 <meta charset="utf-8">
05 <title>JavaScript é na Softblue!</title>
06 </head>
07 <body>
27
08 <script>
09
10 var alfa = 4, beta = 5;
11
12 if(alfa > beta)
13 {
14 document.write('alfa é maior do que beta');
15 }
16 else
17 {
18 document.write('alfa não é maior do que beta');
19 }
20
21 </script>
22 </body>
23 </html>
Cada comando if pode ter no máximo um bloco else. Contudo, existe ainda o bloco
else if, que pode ser utilizado mais de uma vez. Blocos do tipo else if realizam uma
nova avaliação condicional caso a avaliação apresentada no comando anterior tenha
resultado em false.
Por exemplo, suponha que você esteja programando uma funcionalidade que deva
dizer Bom dia se o horário em que a página for executada for entre 0 e 12 horas, Boa
tarde se for entre 13 e 18 horas ou Boa noite se for entre 19 e 23 horas. Neste caso, o
seguinte comando if poderia ser montado:
01 <!DOCTYPE html>
02 <html lang="pt-br">
03 <head>
04 <meta charset="utf-8">
05 <title>JavaScript é na Softblue!</title>
06 </head>
28
07 <body>
08 <script>
09
10 var horario = 12;
11
12 if(0 <= horario && horario <= 12)
13 {
14 document.write('Bom dia');
15 }
16 else if(13 <= horario && horario <= 18)
17 {
18 document.write('Boa tarde');
19 }
20 else if(19 <= horario && horario <= 23)
21 {
22 document.write('Boa noite');
23 }
24 else
25 {
26 document.write('Horário inválido');
27 }
28
29 </script>
30 </body>
31 </html>
igual a 23, imprimindo nesta situação Boa noite. Se novamente a condição não for aceita
(suponha que a variável horario contenha o número 50, por exemplo), o bloco else final
apresentado na linha 24 será executado, imprimindo Horário inválido na tela.
switch(variável)
{
case valor1:
/* Bloco de código caso variável == valor1 */
break;
case valor2:
/* Bloco de código caso variável == valor2 */
break;
default:
/* Bloco de código se nenhuma condição for atendida */
break;
}
Para cada valor que a variável avaliada pelo comando switch possa apresentar, um
bloco de código case relacionado deve ser construído. Caso nenhum resultado seja
encontrado nos blocos case informados, o bloco default é executado (a construção do
bloco default é opcional).
01 <!DOCTYPE html>
02 <html lang="pt-br">
03 <head>
04 <meta charset="utf-8">
05 <title>JavaScript é na Softblue!</title>
06 </head>
07 <body>
08 <script>
09
10 var alfa = 4;
11
12 switch(alfa)
30
13 {
14 case 2:
15 document.write('alfa é igual a 2');
16 break;
17
18 case 3:
19 document.write('alfa é igual a 3');
20 break;
21
22 case 4:
23 document.write('alfa é igual a 4');
24 break;
25
26 default:
27 document.write('alfa não é 2, nem 3 e nem 4');
28 break;
29 }
30
31 </script>
32 </body>
33 </html>
Cada bloco case deve ser encerrado por meio da instrução break, como ocorre na
linha 16. Caso contrário, a execução do programa continuará interpretando todas as
linhas de código apresentadas até o final do comando switch ou até encontrar uma
instrução break.
alfa não for encontrado em nenhum dos blocos case apresentados anteriormente no
comando.
6. Comandos de repetição
Agora que você conheceu um pouco mais sobre os comandos de tomada de decisão do
JavaScript, chegou a hora de um outro conjunto de comandos bastante úteis serem
apresentados: os comandos de repetição, que são utilizados para realizar ações uma ou
mais vezes ou enquanto uma condição for verdadeira.
01 <!DOCTYPE html>
02 <html lang="pt-br">
03 <head>
04 <meta charset="utf-8">
05 <title>JavaScript é na Softblue!</title>
06 </head>
07 <body>
08 <script>
09
10 for(a=1; a<=10; a++)
11 {
12 document.write('Valor de a: ' + a + '<br>');
13 }
14
33
15 </script>
16 </body>
17 </html>
for(elemento in array)
{
/* Bloco de código */
}
01 <!DOCTYPE html>
02 <html lang="pt-br">
03 <head>
04 <meta charset="utf-8">
05 <title>JavaScript é na Softblue!</title>
06 </head>
07 <body>
08 <script>
09
10 var minhaLista = new Array(2, 4, 5, 7);
11
12 for(item in minhaLista)
13 {
14 document.write('Processando ' + item + '<br>');
15 }
16
17 </script>
18 </body>
19 </html>
while(condição)
{
/* Bloco de código */
}
01 <!DOCTYPE html>
02 <html lang="pt-br">
03 <head>
04 <meta charset="utf-8">
05 <title>JavaScript é na Softblue!</title>
06 </head>
07 <body>
08 <script>
09
10 var a = 1;
11
12 while(a <= 10)
13 {
14 document.write('Valor de a: ' + a + '<br>');
15 a++;
16 }
17
18 </script>
19 </body>
20 </html>
Ainda, para que o valor de a sofra alterações, tornando possível sair do bloco de
código do comando while em algum momento, foi necessário incrementar o seu valor
na linha 15 de alguma forma. O comando while deste exemplo foi construído para
realizar a mesma contagem de 1 até 10 já realizada na apresentação do comando for.
do
{
/* Bloco de código */
} while(condição);
01 <!DOCTYPE html>
37
02 <html lang="pt-br">
03 <head>
04 <meta charset="utf-8">
05 <title>JavaScript é na Softblue!</title>
06 </head>
07 <body>
08 <script>
09
10 var a = 1;
11
12 do
13 {
14 document.write('Valor de a: ' + a + '<br>');
15 a++;
16 } while(a <= 10)
17
18 </script>
19 </body>
20 </html>
A escolha entre a utilização de for, while ou do while ocorrerá naturalmente com sua
prática de uso. Algumas situações são melhores atendidas com o comando for, outras
com o while, do while e assim por diante. Fique tranquilo, pois com o passar do tempo,
e praticando, você terá cada vez mais experiência no assunto.
39
7. Funções
O problema é que se esta fórmula mudar (se for necessário acrescentar algum
tributo, por exemplo) será necessário mudar isso no código em todos os locais em que
essa fórmula tenha sido utilizada. Neste caso, é possível criar um bloco de código
customizado (função) que centralize em um único lugar a expressão matemática em
questão, que recebe chamadas sempre que for necessário realizar o cálculo. Assim, se
for preciso alterar a expressão matemática desta operação, este procedimento será feito
somente em um lugar.
function nomeDaFunção(parâmetros)
{
/* Bloco de código */
// Retorno opcional
return valor;
}
01 <!DOCTYPE html>
02 <html lang="pt-br">
03 <head>
04 <meta charset="utf-8">
05 <title>JavaScript é na Softblue!</title>
06 </head>
07 <body>
08 <script>
09
10 function soma(a, b)
11 {
12 var resultado;
13 resultado = a + b;
14
15 return resultado;
16 }
17
18 var x=1, y=2, z=0;
19 z = soma(x, y);
20 document.write(z);
21
22 </script>
23 </body>
24 </html>
Após o nome, você deve abrir e fechar parênteses e, caso você queira que essa
função receba algum valor como parâmetro para ser executada, é necessário preencher
entre os parênteses os nomes dos parâmetros que serão recebidos pela função. Esses
parâmetros poderão ser acessados de dentro do bloco de código da função. No caso da
função do Código-Fonte 7-1 o objetivo é criar um código que some dois valores,
retornando o resultado final para o código que invocar essa função. Neste caso, o nome
41
dado para a função foi soma e, entre parênteses, foram definidos dois parâmetros para
representar os operandos que serão somados. Esses parâmetros poderão ser acessados
pelos seus respectivos nomes de parâmetros apresentados ainda na linha 10: a e b.
O corpo da função soma propriamente dita começa na linha 11. Sua primeira
instrução é a criação de uma variável chamada resultado na linha 12, que receberá a
soma de a e b conforme expressão apresentada na linha 13. Para retornar este valor ao
código que fará uso dessa função, a instrução return foi utilizada na linha 15. No lado
direito da instrução return, um único valor deve ser apresentado: é este o valor que
será retornado ao código que utilizar esta função. No caso da função soma, é o valor
contido na variável resultado que será retornado.
O uso da função soma pode ser observado no final do Código-Fonte 7-1. Observe que
na linha 18 são criadas três variáveis: x, inicializada com o valor 1; y, inicializada com o
valor 2; e z, inicializada com o valor 0. Em seguida, na linha 19, finalmente a função
soma é utilizada, passando para os seus parâmetros os valores contidos nas variáveis x e
y, e armazenando o resultado retornado pela função na variável z. Neste caso a função
soma irá realizar a operação de adição entre a e b, que contém os valores 1 e 2,
respectivamente, e retornará o valor 3 para ser armazenado em z, que tem o seu valor
impresso na tela por meio do comando apresentado na linha 20.
É possível ainda construir funções que não retornem nenhum valor. Neste caso,
considere o exemplo apresentado a seguir.
01 <!DOCTYPE html>
02 <html lang="pt-br">
03 <head>
04 <meta charset="utf-8">
05 <title>JavaScript é na Softblue!</title>
06 </head>
07 <body>
08 <script>
09
10 function cumprimentar(horario, nome)
11 {
12 var frase;
13
14 if(horario < 12)
15 {
16 frase = "Bom dia ";
17 }
18 else if(horario < 18)
19 {
20 frase = "Boa tarde ";
21 }
22 else
23 {
24 frase = "Boa noite ";
25 }
26
27 frase = frase + nome;
42
28 document.write(frase);
29 }
30
31 cumprimentar(10, "André");
32
33 </script>
34 </body>
35 </html>
É possível ainda criar funções que não recebam nenhum parâmetro, que apenas
escrevam Bom dia, por exemplo. Para isso, basta ocultar os parâmetros informados na
linha de criação da função, como por exemplo, function cumprimentar().
43
8. Eventos
Existem vários eventos tratando diversas situações que podem ocorrer na interface
ou comportamento de uma página web. Os principais estão listados a seguir:
Evento Descrição
onUnload Executa o código quando o usuário sai da página, seja ao clicar em um link ou
fechar o navegador. Geralmente utilizada na marcação <body>.
onMouseOver Executa o código quando o usuário passa com o mouse sobre o objeto da
marcação em questão.
onKeyPress Executa o código quando o usuário digita (pressiona e solta) uma tecla com o
objeto da marcação em questão ativado.
44
onKeyDown Executa o código quando o usuário pressiona uma tecla com o objeto da
marcação em questão ativado.
onKeyUp Executa o código quando o usuário solta uma tecla com o objeto da marcação
em questão ativado.
A utilização destes recursos deve ser feita da seguinte forma: incluir o nome do
evento que deseja tratar como um atributo de uma marcação HTML de abertura,
atribuindo a este o(s) comando(s) que deseja executar. Antes de visualizarmos alguns
exemplos de utilização destes recursos, convido você a conhecer um comando
JavaScript que apresenta uma pequena janela na tela com uma mensagem customizada
para o usuário. Esse comando será útil para a apresentação dos eventos JavaScript e se
chama alert. Considere inicialmente o código apresentado a seguir:
01 <!DOCTYPE html>
02 <html lang="pt-br">
03 <head>
04 <meta charset="utf-8">
05 <title>JavaScript é na Softblue!</title>
06 </head>
07 <body>
08 <script>
09
10 alert("Seja bem-vindo(a)!");
11
12 </script>
13 </body>
14 </html>
Agora que você conhece o comando alert, vamos dar uma olhada em um exemplo
com vários casos de uso de eventos JavaScript em uma página web. Para isso,
considere o código apresentado a seguir:
01 <!DOCTYPE html>
02 <html lang="pt-br">
03 <head>
04 <meta charset="utf-8">
05 <title>JavaScript é na Softblue!</title>
06 </head>
07 <body onLoad="alert('Página carregada!');">
08
09 <a href='#' onMouseOver="alert('Passou o mouse');">Passe o mouse aqui</A>
10 <a href='#' onClick="alert('Realizou um clique');">Clique aqui</A>
11
12 <form>
13 <input onFocus="alert('Ativou o campo');" value='Clique neste campo'>
14 <input onKeyPress="alert('Digitou');" value='Digite neste campo'>
15 </form>
16
17 </body>
18 </html>
onMouseOver executará algum código JavaScript. Por este motivo, ao passar o mouse
neste texto, o comando alert com a frase Passou o mouse será executado.
Neste tópico vimos o comando alert, utilizado para apresentar mensagens para o
usuário. O JavaScript apresenta outros tipos de caixas de diálogos bem interessantes,
não apenas para apresentação de mensagens, mas também para tomada de decisão e
até mesmo preenchimento de informações. Esses recursos serão abordados a partir do
próximo tópico deste e-book.
47
9. Caixas de diálogo
A seguir estão descritas as três formas mais comuns de exibir caixas de diálogos
utilizando JavaScript.
alert(mensagem);
Como já vimos no decorrer deste e-book, quando o tema de funções foi tratado,
funções podem retornar valores. Por meio do retorno do método confirm é possível
saber qual botão o usuário pressionou, como será possível observar no exemplo
apresentado logo mais, ainda neste tópico. Antes, vamos conhecer a sintaxe do
comando confirm:
confirm(conteúdo);
48
01 <!DOCTYPE html>
02 <html lang="pt-br">
03 <head>
04 <meta charset="utf-8">
05 <title>JavaScript é na Softblue!</title>
06 </head>
07 <body>
08 <script>
09
10 resposta = confirm('Deseja realizar a operação?');
11
12 if(resposta == true)
13 {
14 alert('Pressionou Ok');
15 }
16 else
17 {
18 alert('Pressionou Cancel');
19 }
20
21 </script>
22 </body>
23 </html>
Caixas de diálogo do tipo confirm são bastante úteis quando a sua página precisa
confirmar a realização de uma determinada ação do usuário.
É possível ainda fazer com que o campo texto que será apresentado para o usuário
já apareça com algum texto preenchido. Para fazer isso, o segundo parâmetro da
função prompt, que é opcional, deve ser informado. A sintaxe de execução deste
comando é a seguinte:
prompt(conteúdo [, texto_sugerido]);
01 <!DOCTYPE html>
02 <html lang="pt-br">
03 <head>
04 <meta charset="utf-8">
05 <title>JavaScript é na Softblue!</title>
06 </head>
07 <body>
08 <script>
09
10 resposta = prompt('Qual o seu nome?', 'Digite aqui o seu nome');
11
12 alert('Bem vindo(a) ao site ' + resposta);
13
14 </script>
15 </body>
16 </html>
Neste caso, assim que o usuário termina de preencher o seu nome e fecha a caixa de
diálogo, o JavaScript continua sua execução, atribuindo a informação preenchida à
variável resposta e, em seguida, dá boas-vindas para a pessoa em questão por meio de
um comando alert.
51
Entre os diversos objetos que o JavaScript disponibiliza para você utilizar, está o que
representa a barra de endereços do navegador: o objeto location. Por meio deste objeto
é possível acessar a URL da página aberta no navegador e também definir um novo
endereço, redirecionando o usuário para outra página dinamicamente via JavaScript.
01 <!DOCTYPE html>
02 <html lang="pt-br">
03 <head>
04 <meta charset="utf-8">
05 <title>JavaScript é na Softblue!</title>
06 </head>
07 <body>
08
09 <input type=BUTTON onClick="acessarUrl();" value="Acessar URL">
10
11 <script>
12
13 function acessarUrl()
14 {
15 location.href = "http://www.softblue.com.br";
16 }
17
18 </script>
19 </body>
20 </html>
guia atual no endereço corrente da página, você precisará utilizar outra instrução
JavaScript, que é o comando open, disponibilizado pelo objeto window.
A instrução open recebe como parâmetro o endereço da URL que deve ser aberta em
uma nova guia do navegador. Observe a seguir uma adaptação do código-fonte
anteriormente apresentado neste tópico, desta vez fazendo o uso do comando open do
JavaScript:
01 <!DOCTYPE html>
02 <html lang="pt-br">
03 <head>
04 <meta charset="utf-8">
05 <title>JavaScript é na Softblue!</title>
06 </head>
07 <body>
08
09 <input type=BUTTON onClick="acessarUrlNovaJanela();" value="Acessar em nova janela">
10
11 <script>
12
13 function acessarUrlNovaJanela()
14 {
15 open("http://www.youtube.com/softbluecursos");
16 }
17
18 </script>
19 </body>
20 </html>
Basicamente, este comando informa via JavaScript a função que deve ser executada
e daqui há quanto tempo ela deve ser executada.
01 <!DOCTYPE html>
02 <html lang="pt-br">
03 <head>
04 <meta charset="utf-8">
05 <title>JavaScript é na Softblue!</title>
06 </head>
07 <body>
08 <script>
09
10 function minhaTarefa()
11 {
12 alert("Tarefa executada!");
13 }
14
15 setTimeout(minhaTarefa, 5000);
16
17 </script>
18 </body>
19 </html>
execução da linha 15 e a chamada da função em questão. Neste caso foi definido que a
função minhaTarefa seja invocada depois de 5000 milissegundos. Como cada segundo é
composto de 1000 milissegundos, a função será invocada depois do intervalo de 5
segundos. Neste caso, o usuário irá abrir a página e, 5 segundos depois, a mensagem
Tarefa executada! será exibida na tela.
55
Com o JavaScript, é possível acessar boa parte dos recursos das páginas web, se
devidamente programados. Este acesso é realizado capturando uma referência para o
elemento em questão por meio da instrução getElementById, disponibilizada por meio
do objeto document do JavaScript.
Mas para que isso funcione, o elemento deve apresentar o atributo id em sua
respectiva marcação HTML, atrelando o elemento em questão a um nome único, o que
permite o seu acesso por meio deste nome, via JavaScript.
01 <!DOCTYPE html>
02 <html lang="pt-br">
03 <head>
04 <meta charset="utf-8">
05 <title>JavaScript é na Softblue!</title>
06 </head>
07 <body>
08
09 <img src="images/blue.png" id="corImagem">
10 <input type=BUTTON onClick="trocarImagem();" value="Trocar imagem">
11
12 <script>
13
14 function trocarImagem()
15 {
16 var imagem = document.getElementById("corImagem");
17 imagem.src = "images/red.png";
18 }
19
20 </script>
21 </body>
22 </html>
Um botão HTML foi construído na linha 10, responsável por disparar a função
trocarImagem, apresentada entre as linhas 14 e 18. O disparo desta função é atrelado a
este botão por meio do evento onClick, programado para a marcação <input> na mesma
linha 10.
Comando Descrição
form.nomecampo Permite acessar as informações do campo cujo nome tenha sido informado
no lugar da propriedade nomecampo.
dados para o servidor, chamará uma função JavaScript para validar o formulário, e, se
tudo estiver correto, encaminhará o mesmo para o servidor processar.
O processamento por parte do servidor não será abordado neste e-book, pois ele
depende de tecnologias que executem do lado servidor, como PHP ou outras
linguagens de programação voltadas para web.
Utilize o código a seguir como base para os exemplos que serão discutidos nos
próximos tópicos:
01 <!DOCTYPE html>
02 <html lang="pt-br">
03 <head>
04 <meta charset="utf-8">
05 <title>JavaScript é na Softblue!</title>
06 </head>
07 <body>
08 <script>
09 function validarFormulario()
10 {
11 /* Código de validação */
12 }
13 </script>
14
15 <form name="meu_form" method="get" action="?">
16
17 Nome completo:
18 <input name="campo_nome" type="text">
19 <br>
20
21 Sexo:
22 <input name="campo_sexo" type="radio" value="M">Masculino
23 <input name="campo_sexo" type="radio" value="F">Feminino
24 <br>
25
26 <input name="campo_maior" type="checkbox" value="maior">
27 Declaro ser maior de 18 anos
28 <br>
29
30 Como conheceu o site:
31 <select name="campo_como">
32 <option value="Nenhum" default>Selecione...</option>
33 <option value="Ind">Indicação de amigo</option>
34 <option value="Out">Outro site</option>
35 <option value="Goo">Google</option>
36 </select>
37 <br>
38
39 <input type="reset" value="Limpar dados">
40 <input type="button" value="Enviar" onClick="validarFormulario();">
41
42 </form>
43 </body>
44 </html>
Observe também que a própria marcação <form> recebeu um nome específico por
meio da instrução name="meu_form" na linha 15, para que o formulário em si possa ser
manipulado via JavaScript. A intenção deste exemplo é submeter o formulário para o
servidor via programação JavaScript se a validação ocorrer conforme o esperado.
Portanto será necessário acessar o formulário para realizar este envio.
function validarFormulario()
{
conteudo_nome = document.forms['meu_form
'].campo_nome.value;
alert('O nome informado no formulário é: ' + conteudo_nome);
}
Antes de validarmos esse campo, vamos dar uma olhada em como acessar os
valores preenchidos e/ou selecionados nos outros tipos de campos, via JavaScript.
Existe ainda uma propriedade chamada selectedIndex para os campos deste tipo,
que permite saber o número da opção que foi escolhida, seguindo a ordem de
apresentação no campo HTML. Esta alternativa pode ser útil em casos como este, para
saber se o usuário selecionou alguma opção ou se manteve o campo sem nenhuma
seleção, pois geralmente a primeira opção dos campos de seleção é justamente o texto
Selecione..., que ocupa o índice 0 dessa listagem.
function validarFormulario()
{
conteudo_como = document.forms['meu_form'].campo_como.value;
numero_como = document.forms['meu_form'].campo_como.selectedIndex;
alert('A opção escolhida é: ' + numero_como + ': ' + conteudo_como);
}
Neste exemplo, o comando alert irá informar na tela a opção selecionada pelo
campo campo_como e também o número da opção escolhida. Lembre-se que a numeração
de ordenamento das opções começa sempre em zero.
Vale a pena citar que quando se fala em informar o valor da opção selecionada, fala-
se em exibir o valor preenchido no atributo value da opção em questão. Por exemplo,
ao selecionar a opção Google no campo_como, este exemplo exibirá na tela o texto 3: Goo,
pois é o valor Goo que foi atribuído para esta opção na marcação <option> existente na
linha 35 do Código-Fonte 13-1.
function validarFormulario()
{
numero_como = document.forms['meu_form'].campo_como.selectedIndex;
descricao_como = document.forms['meu_form'].campo_como.options[numero_como].text;
alert('A descrição da opção escolhida é: ' + descricao_como);
}
na variável numero_como, basta informar essa variável entre colchetes. Por último, é
necessário acessar a propriedade text da opção em questão.
Como você pôde perceber, são vários acessos, o que pode parecer complicado neste
primeiro momento, mas fica bastante simples quando se analisa cada acesso
isoladamente. Para deixar ainda mais claro, observe a ordem em que os acessos
ocorrem:
document
document.forms['meu_form']
document.forms['meu_form'].campo_como
document.forms['meu_form'].campo_como.options[numero_como]
document.forms['meu_form'].campo_como.options[numero_como].text
function validarFormulario()
{
conteudo_maior = document.forms['meu_form'].campo_maior.value;
alert('O valor da caixa de marcação é: ' + conteudo_maior);
marcacao_maior = document.forms['meu_form'].campo_maior.checked;
alert('A caixa de marcação foi marcada? ' + marcacao_maior);
}
63
Neste exemplo, note que o primeiro comando alert sempre apresentará o valor
maior que foi definido no formulário HTML na linha 26, independente se a caixa de
marcação Declaro ser maior de 18 anos estiver marcada ou não. Para saber se está
marcada, o segundo comando alert captura a propriedade checked, que retorna true
caso a mesma esteja marcada, ou false caso contrário.
function validarFormulario()
{
total_opcoes = document.forms['meu_form'].campo_sexo.length;
opcao_escolhida = null;
0 e irá repetir até que i atinja o valor total_opcoes, ou seja, estamos preparando um laço
de repetição que irá navegar por todos os campos rádio de nome campo_sexo.
01 <!DOCTYPE html>
02 <html lang="pt-br">
03 <head>
04 <meta charset="utf-8">
05 <title>JavaScript é na Softblue!</title>
06 </head>
07 <body>
08 <script>
09
10 function validarFormulario()
11 {
12 // Captura o campo de texto que representa o nome do usuário
13 conteudo_nome = document.forms["meu_form"].campo_nome.value;
14
15 // Validação se o nome foi preenchido
16 if(conteudo_nome == "")
17 {
18 alert("É necessário preencher o campo nome corretamente.");
19 return;
20 }
21
22 // Captura o valor do campo que representa o sexo do usuário
23 total_opcoes = document.forms["meu_form"].campo_sexo.length;
24
25 // Validação se o sexo foi selecionado
26 opcao_escolhida = null;
27
28 for(i=0; i<total_opcoes; i++)
29 {
30 if(document.forms["meu_form"].campo_sexo[i].checked == true)
31 {
32 opcao_escolhida = document.forms["meu_form"].campo_sexo[i].value;
33 }
34 }
35
36 if(opcao_escolhida == null)
65
37 {
38 alert("É necessário selecionar o campo sexo corretamente.");
39 return;
40 }
41
42 // Captura se foi marcado a caixa de maior que 18 anos
43 // Mas neste exemplo nenhuma validação se faz necessária.
44 marcacao_maior = document.forms["meu_form"].campo_maior.checked;
45
46 // Captura o número e o valor da opção selecionada em COMO CONHECEU O SITE
47 conteudo_como = document.forms["meu_form"].campo_como.value;
48 numero_como = document.forms["meu_form"].campo_como.selectedIndex;
49
50 // Validação se o campo COMO CONHECEU O SITE foi selecionado
51 // diferente da opção "Selecione..."
52 if(numero_como == 0)
53 {
54 alert("É necessário selecionar como conheceu o site.");
55 return;
56 }
57
58 // Se não tiver realizado um return até este momento
59 // envia os dados para o servidor
60 document.forms["meu_form"].submit();
61 }
62 </script>
63
64 <form name="meu_form" method="get" action="?">
65
66 Nome completo:
67 <input name="campo_nome" type="text">
68 <br>
69
70 Sexo:
71 <input name="campo_sexo" type="radio" value="M">Masculino
72 <input name="campo_sexo" type="radio" value="F">Feminino
73 <br>
74
75 <input name="campo_maior" type="checkbox" value="maior">
76 Declaro ser maior de 18 anos
77 <br>
78
79 Como conheceu o site:
80 <select name="campo_como">
81 <option value="Nenhum" default>Selecione...</option>
82 <option value="Ind">Indicação de amigo</option>
83 <option value="Out">Outro site</option>
84 <option value="Goo">Google</option>
85 </select>
86 <br>
87
88 <input type="reset" value="Limpar dados">
89 <input type="button" value="Enviar" onClick="validarFormulario();">
90
91 </form>
92 </body>
93 </html>
for, uma caixa de diálogo alert exibe uma mensagem para o usuário, informando que
ele precisa preencher o campo corretamente e uma instrução return existente na linha
19 interrompe a execução do restante da função validarFormulario. Seguindo estes
mesmos princípios, os demais campos do formulário também são validados.
Supondo que o campo que representa o nome do usuário esteja com um texto
preenchido, a instrução return da linha 19 não será executada, permitindo a sequência
da função de validação. A função continua na linha 23, validando o campo que
representa o sexo do usuário.
Para o campo de checagem campo_maior nenhuma validação foi realizada, pois neste
exemplo fictício é permitido que o usuário envie o formulário sendo menor de 18 anos
(sem marcar o campo) ou sendo maior de 18 anos (marcando o campo). Se fosse
necessário validar este campo, como campos de checagem que verificam se o usuário
leu e está de acordo com os termos de uso do site, por exemplo, o seguinte comando if
poderia ser utilizado (assumindo que o campo de checagem se chamasse
campo_de_checagem):
if(document.forms["meu_form"].campo_de_checagem.checked != true)
{
alert("É necessário concordar com os termos para prosseguir.");
return;
}
Claro que neste exemplo, ao chegar nesta linha e enviar o formulário para o
servidor, faltam programar ainda as instruções do lado servidor para poder gravar o
usuário em um banco de dados, por exemplo. Esta tarefa não será abordada neste e-
67
Alert("Ufa!")! Chegamos ao final de mais uma jornada! Conforme proposto por este e-
book, você já está capacitado para trabalhar com JavaScript em seus projetos.
Logicamente, seus estudos não acabam por aqui. Faz parte pesquisar e continuar
estudando o tema de acordo com as necessidades dos seus projetos.
Novamente deixo aqui um grande abraço e meus mais sinceros parabéns por você
ter concluído mais esta etapa! Encontro você em breve nos eventos ou cursos da
Softblue! Até mais!
69
Lista de Figuras
Figura 3-1: Atribuindo e exibindo valores em variáveis .................................................................... 11
Figura 3-2: Diferentes tipos de dados impressos no HTML .............................................................. 13
Figura 3-3: Propriedades de strings ...................................................................................................... 15
Figura 3-4: Todos os resultados para a busca do caractere 'a' ........................................................... 17
Figura 4-1: Resultado das operações aritméticas ................................................................................ 20
Figura 4-2: Resultado das operações lógicas........................................................................................ 23
Figura 5-1: Exemplo de uso do comando if ......................................................................................... 26
Figura 5-2: Exemplo de uso do comando if/else .................................................................................. 27
Figura 5-3: Exemplo de uso do comando if/else if/else ...................................................................... 28
Figura 5-4: Exemplo de uso do comando switch ................................................................................ 30
Figura 6-1: Exemplo de uso do comando for ....................................................................................... 33
Figura 6-2: Exemplo de uso do comando for in .................................................................................. 34
Figura 6-3: Exemplo de uso do comando while .................................................................................. 36
Figura 6-4: Exemplo de uso do comando do while ............................................................................. 37
Figura 7-1: Exemplo de função customizada ....................................................................................... 40
Figura 7-2: Exemplo de função customizada sem retorno ................................................................. 42
Figura 8-1: Caixa de diálogo de exibição de mensagens .................................................................... 44
Figura 9-1: Caixa de diálogo de tomada de decisão ........................................................................... 48
Figura 9-2: Caixa de diálogo de solicitação de informação ................................................................ 50
Figura 12-1: Alterando imagem via JavaScript .................................................................................... 56
Figura 13-1: Formulário HTML ............................................................................................................. 59
70
Lista de Tabelas
Tabela 4-1: Operadores aritméticos ....................................................................................................... 19
Tabela 4-2: Operadores lógicos .............................................................................................................. 22
Tabela 8-1: Principais eventos JavaScript ............................................................................................. 44
Tabela 13-1: Principais recursos do objeto form .................................................................................. 57
71
Lista de Códigos-Fonte
Código-Fonte 3-1: criandoVariaveis.htm ............................................................................................. 10
Código-Fonte 3-2: atribuindoValores.htm ........................................................................................... 11
Código-Fonte 3-3: tiposDeDados.htm .................................................................................................. 13
Código-Fonte 3-4: strings.htm ............................................................................................................... 15
Código-Fonte 3-5: buscaRecorrente.htm .............................................................................................. 17
Código-Fonte 4-1: operacoesAritmeticas.htm ..................................................................................... 20
Código-Fonte 4-2: operacoesLogicas.htm ............................................................................................ 23
Código-Fonte 5-1: comandoIf.htm ........................................................................................................ 26
Código-Fonte 5-2: comandoIfElse.htm ................................................................................................. 27
Código-Fonte 5-3. comandoIfElseIfElse.htm ....................................................................................... 28
Código-Fonte 5-4: comandoSwitch.htm ............................................................................................... 30
Código-Fonte 6-1: comandoFor.htm ..................................................................................................... 33
Código-Fonte 6-2: comandoForIn.htm ................................................................................................. 34
Código-Fonte 6-3: comandoWhile.htm ................................................................................................ 35
Código-Fonte 6-4: comandoDoWhile.htm ........................................................................................... 37
Código-Fonte 7-1: comandoFunction.htm ........................................................................................... 40
Código-Fonte 7-2: comandoFunctionSemRetorno.htm ...................................................................... 42
Código-Fonte 8-1: comandoAlert.htm .................................................................................................. 44
Código-Fonte 8-2: exemplosEventos.htm ............................................................................................ 45
Código-Fonte 9-1: comandoConfirm.htm ............................................................................................ 48
Código-Fonte 9-2: comandoPrompt.htm .............................................................................................. 49
Código-Fonte 10-1: propriedadeLocationHref.htm ............................................................................ 51
Código-Fonte 10-2: comandoOpen.htm ............................................................................................... 52
Código-Fonte 11-1: comandoSetTimeout.htm ..................................................................................... 53
Código-Fonte 12-1: propriedadeImgSrc.htm ....................................................................................... 55
Código-Fonte 13-1: validandoFormularioBaseHTML.htm ................................................................ 58
72
Índice Remissivo
.js, 9 location, 51
/*, 8, 25, 29, 32, 34, 35, 36, 39, 58 lógica de programação, 6
//, 8, 10, 20, 22, 23, 39, 64, 65 method, 57, 58, 65
<body>, 10, 11, 13, 15, 17, 20, 22, 25, 26, name, 57, 58, 59, 63, 65
28, 29, 32, 34, 35, 37, 40, 41, 43, 44, 45, null, 63, 64, 66
48, 49, 51, 52, 53, 55, 58, 64 numérico, 11, 12, 14, 15, 16, 24, 61
<br>, 11, 13, 14, 15, 17, 20, 22, 23, 32, 34, objeto, 11, 14, 43, 44, 51, 52, 55, 57, 60
35, 37, 58, 65 onBlur, 43
<script>, 8, 9, 10, 11, 13, 15, 17, 20, 22, onChange, 43
25, 27, 28, 29, 32, 34, 35, 37, 40, 41, 44, onClick, 43, 45, 46, 51, 52, 55, 56, 58, 65
48, 49, 51, 52, 53, 55, 58, 64 onFocus, 43, 45
action, 57 onKeyDown, 44
alert, 44, 45, 46, 47, 48, 49, 50, 53, 60, 61, onKeyPress, 43, 45
62, 63, 64, 65, 66 onKeyUp, 44
argumentos, 39 onLoad, 43, 45
array, 12, 14, 34, 60, 61, 64 onMouseDown, 43
booleano, 48 onMouseOut, 43
break, 29, 30 onMouseOver, 43, 45, 46
case, 29, 30, 31 onMouseUp, 43
checked, 62, 63, 64, 65, 66 onSubmit, 44
confirm, 47, 48, 49 onUnload, 43
default, 29, 30, 58, 65 open, 52
do while, 36, 38 operadores aritméticos, 19
document, 11, 13, 15, 17, 20, 22, 23, 25, operadores lógicos, 19, 21, 22
27, 28, 30, 32, 34, 35, 37, 40, 42, 55, 56, options, 61, 62
60, 61, 62, 63, 64, 65, 66 parâmetros, 18, 35, 39, 40, 41, 42, 53
DOM Document, 11 prompt, 49, 50
else, 26, 27, 28, 41, 48 return, 39, 40, 41, 64, 65, 66
eventos, 43, 44, 45, 46, 68 selectedIndex, 61, 65
false, 12, 13, 14, 21, 22, 23, 24, 25, 26, 27, setTimeout, 53
33, 37, 48, 63 submit, 44, 57, 59, 65
for, 29, 32, 33, 34, 35, 36, 37, 38, 63, 64 substring, 15, 16
for in, 34 switch, 29, 30
form, 57, 58, 59, 60, 65 text, 58, 61, 62, 65
forms, 60, 61, 62, 63, 64, 65, 66 true, 12, 13, 14, 21, 22, 23, 24, 25, 32, 48,
function, 39, 40, 41, 42, 51, 52, 53, 55, 58, 63, 64, 66
60, 61, 62, 63, 64 value, 45, 51, 52, 55, 58, 60, 61, 62, 63, 64,
getElementById, 55, 56 65
href, 45, 51 var, 10, 11, 13, 15, 17, 20, 22, 25, 27, 28,
if, 25, 26, 27, 28, 29, 41, 48, 63, 64, 65, 66 29, 34, 35, 37, 40, 41, 55
indexOf, 15, 16, 17, 18 variáveis, 10, 11, 12, 13, 14, 19, 20, 32,
length, 15, 16, 63, 64 35, 36, 40, 41
73