Buscar

Introdução ao Javascript

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 40 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 40 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 40 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Javascript
Prof. Adriano Rívolli
Programação Web
Web 
Cliente
Referências
• Guia do desenvolver Mozilla
– https://developer.mozilla.org/pt-BR/docs/JavaScript
• W3 Schools
– http://www.w3schools.com/js/– http://www.w3schools.com/js/
• Javascript 101
– http://learn.jquery.com/javascript-101/
O que é Javascript?
• Uma linguagem de script
• Uma linguagem interpretada
• Uma linguagem orientada a objetos e 
eventoseventos
• Funciona nos navegadores
• Geralmente inserida em páginas HTML
• Desenvolvida para tornar as páginas HTML 
interativas
• Javascript e Java são coisas 
completamente diferentes
O que faz Javascript?
• Deixa as páginas dinâmicas 
• Trabalha com eventos 
• Lê, manipula e cria elementos HTML
• Valida dados do formulário• Valida dados do formulário
• Interage com recursos do navegador
Formas de uso
• Nos atributos
O código Javascript é inserido como valor de um atributo, 
normalmente o código é pequeno (relacionado a eventos)
• Embutido na página• Embutido na página
O código Javascript é inserido junto com o conteúdo HTML 
(funções exclusivas/restritas a uma página)
• Arquivo externo
O código Javascript é inserido em um arquivo ".js" separado 
do conteúdo (funções genéricas utilizadas em todas as 
páginas)
Código nos atributos
• No atributo href do elemento a (links)
<a href="javascript:alert('Clicou no 
elemento! Impossível não clicar…');">Não
Clique!</a>
• Como valor de um atributo de evento
<button onClick="alert('Clicou!!!');">Clique 
para ver a mensagem!</button>
O alert é uma função do Javascript utilizada, para exibir uma 
mensagem para o usuário. Ele costuma ser muito inconveniente, mas 
será utilizado em alguns exemplos para simplificar o código.
No dia a dia utilize-o com moderação
Embutido
• Inserido na própria página por meio do elemento 
script:
<script>
alert("Olá Mundo Javascript.");
</script>
• É mais seguro executar as operações após ter certeza • É mais seguro executar as operações após ter certeza 
do carregamento da página:
<script>
window.onload = function() {
alert( "A página foi carregada" );
}
</script>
• Pode ser definido em qualquer local da página (head
e body )
Arquivo externo
page.js
function alo() {
alert('Olá Mundo!');
}
window.onload = function() {window.onload = function() {
alo();
}
index.html
…
<script src="page.js"></script>
…
Detalhes da linguagem
• JavaScript é case-sensitive (diferencia maiúsculas de 
minúsculas)
• Espaços em brancos são insignificantes
• Comentários em Javascript é semelhante ao Java
• As variáveis possuem tipos dinâmicos
• O uso do ponto e vírgula é opcional (desde que os 
comandos estejam em linhas separadas*)
Tipos de dados e Variáveis
• String
• Number
• Boolean
• undefined
var a = "Ola...";
var num1 = 100; var num2 = 100.10;
var ok = true; var fail = false;
var aux;• undefined
• Object
• Array
• Function
var aux;
var p = {nome: "João", idade: 32}
var lista = [2, 32, 31, 21, 98];
var fnc = function (){ };
Variáveis
• Locais começam com a palavra var
var x = "teste"
• Globais não começam com a palavra var• Globais não começam com a palavra var
x = "teste"
• Use sempre que preciso o comando console.log
para depurar o código Javascript
console.log(x, y, z);
Operadores aritméticos
Operador Descrição Exemplo Resultado
+ Adição x=y+2 x=7 y=5
- Subtração x=y-2 x=3 y=5
* Multiplicação x=y*2 x=10 y=5
/ Divisião x=y/2 x=2.5 y=5
Sabendo que y=5
/ Divisião x=y/2 x=2.5 y=5
% Módulo (resto da divisão) x=y%2 x=1 y=5
++ Incremento x=++y x=6 y=6
x=y++ x=5 y=6
-- Decremento x=--y x=4 y=4
x=y-- x=5 y=4
Operadores de atribuição
Operador Exemplo Como Resultado
= x=y x=5
+= x+=y x=x+y x=10
Sabendo que y=5
+= x+=y x=x+y x=10
-= x-=y x=x-y x=5
*= x*=y x=x*y x=25
/= x/=y x=x/y x=5
%= x%=y x=x%y x=0
Concatenação
txt1 = "Tenha um";
txt2 = "ótimo dia";
//txt3 = "Tenha umótimo dia";//txt3 = "Tenha umótimo dia";
txt3 = txt1 + txt2;
//txt4 = "Tenha um ótimo dia";
txt4 = txt1 + " " + txt2;
Selecionando objetos
• Selecionando pelo id
document.getElementById("NomeDoId");
• Selecionando o primeiro elemento• Selecionando o primeiro elemento
document.querySelector("seletor");
• Selecionando uma lista de elementos
document.querySelectorAll("seletor");
Alterando o conteúdo - innerHTML
<body>
<p></p>
<div id="resp">Texto</div>
<script>
var e = document.querySelector("#resp");
alert(e.innerHTML); //Exibe: Texto
var repete = e.innerHTML + e.innerHTML;
e.innerHTML = repete;
alert(e.innerHTML); //Exibe: TextoTexto
e.innerHTML = "Nova mensagem";
alert(e.innerHTML); //Exibe: Nova mensagem
document.querySelector("p").innerHTML = e.innerHTML;
</script>
</body> Ao final da execução do código o HTML final será:
<p>Nova mensagem</p>
<div id="resp">Nova mensagem</div>
Alterando os atributos
<body>
<p class="texto">Texto do parágrafo</p>
<img id="img" src="teste.png" alt="Teste">
<script>
var img = document.querySelector("#img");
//Alterando os atributos existentes
img.src = "outro.jpg";img.src = "outro.jpg";
img.alt = "Nova";
//Adicionando novos atributo
img.title = img.alt;
img.className = "retrato";
document.querySelector(".texto").id = "p1";
</script>
</body>
.
Ao final da execução do código o HTML final será:
<p class="texto" id="p1">Texto do parágrafo</p>
<img id="img" src="outro.jpg" alt="Nova" title="Nova" class="retrato">
Alterando os valores - value
<body>
<div id="resposta"></div>
<input type="text" name="senha">
<input type="button" value="Copiar" onclick="copia()">
<script>
function copia(){
//Atribuindo o texto do campo na variavel
var campo = document.querySelector("input[name=senha]"); 
var texto = campo.value;
//Atribuindo o valor do campo no elemento
document.querySelector("#resposta").innerHTML = texto;
//Alterando o valor do campo para vazio
campo.value = "";
}
</script>
</body>
Este código irá alterar o código HTML somente após o 
clique do botão. Eventos serão apresentado mais a frente
Operadores relacionais
Operador Descrição Exemplo
== É igual a x == 8 é falso
===
É exatamente igual (valor e
tipo)
x === 5 é verdadeiro
x === "5" é falso
Sabendo que x=5
=== tipo) x === "5" é falso
!= Diferente x != 8 é verdadeiro
> É maior que x > 8 é falso
< É menor que x < 8 é verdadeiro
>= É maior que ou igual a x >= 8 é falso
<= É menor que ou igual a x <= 8 é verdadeiro
Operadores lógico
Operador Descrição Exemplo
&& E (x < 10 && y > 1) é verdadeiro
|| OU (x == 5 || y == 5) é falso
Sabendo que x=6 e y=3
|| OU (x == 5 || y == 5) é falso
! Não !(x == y) é verdadeiro
Operador ternário
Sintaxe:
variavel = (condição) ? Valor1 : valor2;
Exemplo:Exemplo:
var extenso = (valor == 1) ? "unidade" : "unidades";
IF
Sintaxe:
if(condição){
//Código a ser executado se a condição é verdadeira
}
Exemplo:
<script ><script >
//Escreve "Bom dia" se a hora é menor que 10
var d=new Date();
var time = d.getHours();
if (time < 10){
alert("Bom dia");
}
</script>
IF...ELSE
Sintaxe:
if (condição){
// Código executado se a condição é verdadeira
} else {
// Código executado se a condição é falsa
}
Exemplo:
<script>
var d = new Date();
var time = d.getHours();
if (time < 10){
alert("Bom dia");
} else {
alert("Boa tarde");
}
</script>
IF...ELSE IF...ELSE
Sintaxe:
if (condição){
// Código executado se a condição é verdadeira
} else if (condição 2){
// Código executado se a condição 2 é verdadeira
} else {
// Código executado todas as condições são falsa
}
Exemplo:
<script>
var d = new Date();var time = d.getHours();
if (time < 10){
alert ("Bom dia");
} else if (time < 19){
alert("Boa tarde");
} else {
alert("Boa noite");
}
</script>
Switch
Exemplo:
<script>
//Mostra uma mensagem com base no dia da semana
//Domingo=0, Segunda=1, Terça=2, ...
var d = new Date();
var dia = d.getDay();
switch (dia){
case 5:case 5:
alert("Finalmente sexta-feira");
break;
case 6:
alert("Sábado!!!");
break;
case 0:
alert("Domingão");
break;
default:
alert("Boa semana de trabalho");
}
</script>
FOR
Sintaxe:
for( var=inicio; var<=fim; var++){
// Código a ser repetido
}
Exemplo:
<div id="a1"></div><div id="a1"></div>
<script>
var el = document.querySelector("#a1");
var i = 0;
for (i = 0; i <= 5; i++){
var texto = "<p>O número é " + i + "</p>";
el.innerHTML += texto;
}
</script>
WHILE
Sintaxe:
while (condição) {
// Código executado enquanto a condição é 
verdadeira
}
Exemplo:Exemplo:
<div id="a1"></div>
<script>
var el = document.querySelector("#a1");
var i = 0;
while (i <= 5){
el.innerHTML += "O número é " + i + "<br>";
i++;
}
</script>
DO..WHILE
Sintaxe:
do {
// Código executado enquanto a condição é verdadeira
} while (condição);
Exemplo:
<div id="a1"></div>
<script>
var el = document.querySelector("#a1");
var i = 0;
do {
el.innerHTML += "O número é " + i + "<br>";
i++;
} while (i <= 5);
</script>
Break e Continue
<script>
for (var i = 1; i <= 10; i++){
if (i ==3) {
continue; //Pula o alert
} else if (i == 5) {
break; //Encerra a execução
}
alert(i);
}
</script>
Irá exibir apenas: 1, 2, 4
Caixas de diálogo
Alerta
alert("Ola a todos!");
Caixa de confirmação
var opcao = confirm("Confirma a exclusão?");
if (opcao == true) { if (opcao == true) { 
// Sim, confirma
} else {
//Não, não confirmou
}
Entrada de texto
var nome = prompt("Informe um nome", "Ana");
var elem = document.querySelector("#a");
elem.innerHTML = "Olá " + nome;
Funções
Função com argumentos:
function nomeDaFuncao(var1,var2,...,varX){
// Código da função
}
nomeDaFuncao(2, 32, ..., 1);
Função em uma variável:Função em uma variável:
var funcao = function () {
// Código da função
}
funcao();
Função como um método:
var obj = { metodo: function () { } }
obj.metodo();
Exemplo de função
<script>
function produto(a, b) {
return a * b;
}
function calcular() {
var n1 = document.querySelector("[name=n1]");var n1 = document.querySelector("[name=n1]");
var n2 = document.querySelector("[name=n2]");
alert(produto(n1.value, n2.value));
}
</script>
<input type="text" name="n1">
<input type="text" name="n2">
<input type="button" value="Calcular" 
onclick="calcular()">
Eventos
Eventos do mouse
onclick , ondblclick, onmousemove, onmousedown, 
onmouseup, onmouseover e onmouseout
Carregamento de uma imagem, páginaCarregamento de uma imagem, página
onload e onunload
Eventos do formulário
onsubmit, onchange, onselect, onfocus e onblur
Digitar uma tecla
onkeydown, onkeyup, onkeypress
Utilizando eventos
No HTML:
<input type="text" onchange="troca()" id="txt">
<input type="button" value="Carregar" 
onclick="carrega('txt')">
No Javascript:
<input type="text" id="txt"><input type="text" id="txt">
<input type="button" value="Carregar">
<script>
document.querySelector("#txt").onchange = troca;
var btn = document.querySelector("[type=button]");
btn.onclick = function () { 
carrega('txt') 
};
</script>
<script>
var lista = [1, 2, 3, 1];
console.log(lista.length); //4
Utilizado para exibir o resultado 
Vetores
console.log(lista.pop()); // 1
console.log(lista); //1, 2, 3
</script>
Utilizado para exibir o resultado 
no console do navegador
Array - Principais métodos
Método Descrição
concat(array2, array3,...,arrayX)
Junta dois ou mais vetores, retornando-o. Não altera o vetor
atual.
join([separador])
Retorna uma String de todos os elementos do vetor, juntando-os
com o separador. Caso não seja fornecido será utilizado a
virgula.
pop() Remove o último elemento do vetor e retorna-o
push(novo1, novo2, …, novoX) Adiciona novos elementos ao final do vetor
reverse() Inverte a ordem dos elementos do vetor (altera o vetor)
shift() Remove o primeiro elemento do vetor e retorna-o
slice(inicio, [fim])
Seleciona uma parte do vetor e retorna esta parte, não altera a
origem.
sort([funcao-ordenacao])
Ordena os elementos do vetor (altera o vetor). Caso seja
passado uma função ele ordena utilizando a função (que recebe
dois parâmetros)
splice(inicio, qtd-remove, novo1, novo2, …, novoX) Adiciona e/ou remove elementos de um vetor
toString() Semelhante ao Join
unshift(novo1, novo2, …, novoX) Adiciona novos elementos a um vetor.
String – Principais métodos
Método Descrição
charAt(index) Retorna o caractere correspondente a posição informada
charCodeAt(index) Retorna o unicode correspondente a posição informada
concat(string2, string3,..., stringX) Concatena duas ou mais Strings e retorna a nova String
indexOf(str-busca, [inicio])
Retorna a posição da primeira ocorrência encontrada a partir do início. Se
não encontrar retorna -1
lastIndexOf(str-busca, [inicio])
Retorna a posição da ultima ocorrência encontrada a partir do início. Se
não encontrar retorna -1
replace(substring,nova-string) Substitui uma parte da String por uma nova Stringreplace(substring,nova-string) Substitui uma parte da String por uma nova String
search(string)
Procura a localização de uma parte da String e retorna sua localização.
Se não encontrar retorna -1
slice(inicio,[fim]) Extrai uma fatia da String, especificado entre início e fim (altera a String).
split(separador, [limite])
Divide uma String em um vetor utilizando o separador. Se uma String
vazia é passada como separador a String é dividade para cada caractere.
substr(inicio, [tamanho])
Retorna uma substring pegando a partir de início no tamanho
especificado.
substring(inicio, [fim]) Semelhante ao slice, contudo não altera a String de origem
toLowerCase() Converte a String para minúscula
toUpperCase() Converte a String para maiúscula
Data – Principais métodos
Método Descrição
getDate() Retorna o dia do mês (1 a 31)
getDay() Retorna o dia da semana (0 a 6)
getFullYear() Retorna o ano (com 4 dígitos)
getHours() Retorna a hora (0 a 23)
getMilliseconds() Retorna os milissegundos (0 a 999)
getMinutes() Retorna os minutos (0 a 59)
getMonth() Retorna o mês (0 a 11)
getSeconds() Retorna os segundos (0 a 59)getSeconds() Retorna os segundos (0 a 59)
getTime()
Retorna o número de millisegundos a partir de 1 de janeiro de
1970
getTimezoneOffset() Retorna a diferença (em minutos) entre o GMT e o tempo local
setDate(dia) Define o dia do mês (1 a 31)
setFullYear(ano, [mes], [dia]) Define o ano (quatro dígitos), e opcionalmente o mês e o dia
setHours(hora, [min], [sec], [milsec])
Define uma hora (0 a 23), e opcionalmente os minutos, segundos
e milissegundos
setMilliseconds(milisegundos) Define o milissegundos (0 a 999)
setMinutes(min, [sec], [milsec])
Define os minutos (0 a 59), e opcionalmente os segundos e
milissegundos
setMonth(mes, dia) Define o mês (0 a 11), e opcionalmente o dia
setSeconds(sec, [milsec]) Define os segundos (0 a 59) e opcionalmente os milissegundos
setTime(milissegundos)
Define um Date com base nos milissegundos a partir de 1 de
janeiro de 1970
Funções matemáticas
Método Descrição
Math.abs(x) Retorna o valor absoluto de X
Math.ceil(x) Retorna o próximo inteiro mais próximo de X
Math.floor(x) Retorna o inteiro anterior mais próximo de X
Math.max(x, y, z, …, n) Retorna o maior número passado na lista de valoresMath.max(x, y, z, …, n) Retorna o maior número passado na lista de valores
Math.min(x, y, z, …, n)Retorna o menor número passado na lista de valores
Math.pow(x, y) Retorna o valor de X elevado a Y
Math.random() Retorna um número aleatório entre 0 e 1
Math.round(x) Retorna o X arredondado para o inteiro mais próximo
Math.sqrt(x) Retorna a raiz quadrada de x
Funções globais
Método Descrição
encodeURI(uri) Retorna uma URI codificada
decodeURI(uri) Retorna uma URI decodificada
eval(string) Executa um código em Javascript
Number(value) Converte um valor em número
parseFloat(string) Converte uma String em um valor do tipo float
parseInt(string, [base])
Converte uma String em um valor do tipo inteiro,
se uma base (valor entre 2 e 36) é passado
utiliza-se a base de número utilizado
String(numero) Converte um valor em uma String

Outros materiais