SlideShare uma empresa Scribd logo
1 de 20
Baixar para ler offline
LAB’s AIT
vitor$ /etc/init.d/javascript start
by @VitorCastro
sexta-feira, 2 de agosto de 13
//OBJETIVO
sexta-feira, 2 de agosto de 13
JavaScript
Linguagem de programação interpretada
Roda nos navegadores web (cliente)
caracteristicas++
sexta-feira, 2 de agosto de 13
Show me the code !!!
<html>
<script> <!-- type="text/javascript" -->
code...
</script>
</html>
OU
<script src=”<endereco>.js”></script>
sexta-feira, 2 de agosto de 13
Declarando variável
var nomeDaVariavel = valorDaVariavel; // ou
sem o ponto e vírgula
sexta-feira, 2 de agosto de 13
Tipos de Dados
Array -> var array = new Array()
Number -> var number = new Number()
Boolean -> var bool = new Boolean()
Object -> var object = { prop: val, method:
function () {} }
String -> var string = new String()
+++
sexta-feira, 2 de agosto de 13
E o
Document..Object..Model..
variável “window” é a raiz de tudo. Mas que
usamos é o “document”
métodos #notBad
document.getElementById(id) //busca por Id
document.getElementsByName(name) // busca por
pelo atributo name
document.getElementsByTagName(nameTag) //
buscar pelo nome da tag
sexta-feira, 2 de agosto de 13
POPUPs
alert(text)
confirm(text)
prompt(text)
sexta-feira, 2 de agosto de 13
IF ELSE FOR SWITH
if (expression){ }else { }
for (var index = 0; index < length; index++){ }
switch(data) { case value: { code.. break;}
default: break; }
sexta-feira, 2 de agosto de 13
function
function nameFunction(){ code... }
sexta-feira, 2 de agosto de 13
others function dos
object do D..O..M..
.innerHTML
.length
.value
.item(index) [Object NodeList]
+++
sexta-feira, 2 de agosto de 13
EVENT CLICK
botao.onclick = function () { }
OU
botao.addEventListener(“click”, function(){ })
sexta-feira, 2 de agosto de 13
Missão #1
sexta-feira, 2 de agosto de 13
#RULES
if (google.com.br) return false;
if (facebook.com) return false;
if (gmail.com || hotmail.com || @qualquerEmail)
return false;
if (coding) return like;
sexta-feira, 2 de agosto de 13
index.html
<h1>Controle Remoto</h1>
<a id="cima" href="#quadro">Cima (10)</a>
<a id="baixo" href="#quadro">Baixo (20)</a>
<a id="esquerda" href="#quadro">Esquerda (30)</a>
<a id="direita" href="#quadro">Direita (40)</a><br>
<input type="text" disabled="disabled" size="10" maxlength="10" name="linhaComando">
<button id="printComando">Processar Comando</button>
<br>
<div id="quadro" style="display: none;">
! <span style="font-size: 16px"></span><br>
! <span style="font-size: 14px"></span>
</div>
sexta-feira, 2 de agosto de 13
//TODO #1
Ao clicar nos links “Cima”“Baixo”“Direita” e
“Esquerda”, salvar a sequencia de comandos
Ex: Clicar em Cima e Baixo
Gerar C,B
sexta-feira, 2 de agosto de 13
//TODO #2
Ao clicar no botão “Processar comando”:
Escrever o comando no input
Escrever no primeiro <span> o comando
Escrever no segundo <span> o custo do
comando
Ex: Cima + Baixo = (10 + 20) -> 30
sexta-feira, 2 de agosto de 13
//TODO #3
O máximo de comandos clicados deve ser 5
Quando for clicado o sexto comando, gerar
um popup(alert) informando e zerar a lista de
comandos
Se clicar direto no “Processar comando” sem
comandos clicados não exibir os <span>
sexta-feira, 2 de agosto de 13
TIMEBOX
30 Minutos para o CODE
5 Minutos para cada participante apresentar
o que fez para os demais
window.location = “http://github.com”
#openTheBox
sexta-feira, 2 de agosto de 13
sexta-feira, 2 de agosto de 13

Mais conteúdo relacionado

Destaque

Proyecto Final Hortensia y Marta. Taller Intel Aprender. Telecentro Daniel de...
Proyecto Final Hortensia y Marta. Taller Intel Aprender. Telecentro Daniel de...Proyecto Final Hortensia y Marta. Taller Intel Aprender. Telecentro Daniel de...
Proyecto Final Hortensia y Marta. Taller Intel Aprender. Telecentro Daniel de...Intel Aprender Chile
 
Planificación Sesión 1 Tecnología y Comunidad
Planificación Sesión 1 Tecnología y ComunidadPlanificación Sesión 1 Tecnología y Comunidad
Planificación Sesión 1 Tecnología y ComunidadIntel Aprender Chile
 
Trabajo final taller Intel Aprender. Telecentro Arturo Prat Buin
Trabajo final taller Intel Aprender. Telecentro Arturo Prat BuinTrabajo final taller Intel Aprender. Telecentro Arturo Prat Buin
Trabajo final taller Intel Aprender. Telecentro Arturo Prat BuinIntel Aprender Chile
 
3 4-metodologia depesquisaemcienciadacomputacao-preparacaodapesquisa
3 4-metodologia depesquisaemcienciadacomputacao-preparacaodapesquisa3 4-metodologia depesquisaemcienciadacomputacao-preparacaodapesquisa
3 4-metodologia depesquisaemcienciadacomputacao-preparacaodapesquisaUniversidade de São Paulo
 
Actividad Modelo a Seguir (Sesión del Taller Tecnología y Comunidad)
Actividad Modelo a Seguir (Sesión del Taller Tecnología y Comunidad)Actividad Modelo a Seguir (Sesión del Taller Tecnología y Comunidad)
Actividad Modelo a Seguir (Sesión del Taller Tecnología y Comunidad)Intel Aprender Chile
 

Destaque (9)

Vivero mi jardin
Vivero mi jardinVivero mi jardin
Vivero mi jardin
 
Proyecto Final Hortensia y Marta. Taller Intel Aprender. Telecentro Daniel de...
Proyecto Final Hortensia y Marta. Taller Intel Aprender. Telecentro Daniel de...Proyecto Final Hortensia y Marta. Taller Intel Aprender. Telecentro Daniel de...
Proyecto Final Hortensia y Marta. Taller Intel Aprender. Telecentro Daniel de...
 
Jornalismo econômico 97
Jornalismo econômico 97Jornalismo econômico 97
Jornalismo econômico 97
 
Planificación Sesión 1 Tecnología y Comunidad
Planificación Sesión 1 Tecnología y ComunidadPlanificación Sesión 1 Tecnología y Comunidad
Planificación Sesión 1 Tecnología y Comunidad
 
Proyecto final Viviana y Claudia
Proyecto final Viviana y ClaudiaProyecto final Viviana y Claudia
Proyecto final Viviana y Claudia
 
Novidades
NovidadesNovidades
Novidades
 
Trabajo final taller Intel Aprender. Telecentro Arturo Prat Buin
Trabajo final taller Intel Aprender. Telecentro Arturo Prat BuinTrabajo final taller Intel Aprender. Telecentro Arturo Prat Buin
Trabajo final taller Intel Aprender. Telecentro Arturo Prat Buin
 
3 4-metodologia depesquisaemcienciadacomputacao-preparacaodapesquisa
3 4-metodologia depesquisaemcienciadacomputacao-preparacaodapesquisa3 4-metodologia depesquisaemcienciadacomputacao-preparacaodapesquisa
3 4-metodologia depesquisaemcienciadacomputacao-preparacaodapesquisa
 
Actividad Modelo a Seguir (Sesión del Taller Tecnología y Comunidad)
Actividad Modelo a Seguir (Sesión del Taller Tecnología y Comunidad)Actividad Modelo a Seguir (Sesión del Taller Tecnología y Comunidad)
Actividad Modelo a Seguir (Sesión del Taller Tecnología y Comunidad)
 

Semelhante a Labs JavaScript - AIT

Java mais ágil que nunca no desenvolvimento Web
Java mais ágil que nunca no desenvolvimento WebJava mais ágil que nunca no desenvolvimento Web
Java mais ágil que nunca no desenvolvimento WebBruno Borges
 
JavaScript e JQuery para Webdesigners
JavaScript e JQuery para WebdesignersJavaScript e JQuery para Webdesigners
JavaScript e JQuery para WebdesignersHarlley Oliveira
 
JQuery Alagoinhas Dev Day - UNEB
JQuery Alagoinhas Dev Day - UNEBJQuery Alagoinhas Dev Day - UNEB
JQuery Alagoinhas Dev Day - UNEBLuciano Borges
 
Mini Curso de Python para Coding Dojo
Mini Curso de Python para Coding DojoMini Curso de Python para Coding Dojo
Mini Curso de Python para Coding DojoFabricio NErdmann
 
Mini Curso PHP Twig - PHP Conference 2017
Mini Curso PHP Twig - PHP Conference 2017 Mini Curso PHP Twig - PHP Conference 2017
Mini Curso PHP Twig - PHP Conference 2017 Luis Gustavo Almeida
 
Melhorando a Experiência do Usuário com JavaScript e jQuery
Melhorando a Experiência do Usuário com JavaScript e jQueryMelhorando a Experiência do Usuário com JavaScript e jQuery
Melhorando a Experiência do Usuário com JavaScript e jQueryHarlley Oliveira
 
Angular JS, você precisa conhecer
Angular JS, você precisa conhecerAngular JS, você precisa conhecer
Angular JS, você precisa conhecermeet2Brains
 
LPII_Aula_7-JQuery.pdf
LPII_Aula_7-JQuery.pdfLPII_Aula_7-JQuery.pdf
LPII_Aula_7-JQuery.pdfGabrielaMota46
 
Interfaces Ricas para WEB com jQuery e jQueryUI (User Interface)
Interfaces Ricas para WEB com jQuery e jQueryUI (User Interface)Interfaces Ricas para WEB com jQuery e jQueryUI (User Interface)
Interfaces Ricas para WEB com jQuery e jQueryUI (User Interface)Evandro Klimpel Balmant
 
Html5 storage api
Html5 storage apiHtml5 storage api
Html5 storage apiSuissa
 
TDC2016POA | Trilha Android - Testes no Android
TDC2016POA | Trilha Android - Testes no AndroidTDC2016POA | Trilha Android - Testes no Android
TDC2016POA | Trilha Android - Testes no Androidtdc-globalcode
 
TDC2016POA | Trilha Android - Testes no Android
TDC2016POA | Trilha Android - Testes no AndroidTDC2016POA | Trilha Android - Testes no Android
TDC2016POA | Trilha Android - Testes no Androidtdc-globalcode
 

Semelhante a Labs JavaScript - AIT (20)

Java mais ágil que nunca no desenvolvimento Web
Java mais ágil que nunca no desenvolvimento WebJava mais ágil que nunca no desenvolvimento Web
Java mais ágil que nunca no desenvolvimento Web
 
JavaScript e JQuery para Webdesigners
JavaScript e JQuery para WebdesignersJavaScript e JQuery para Webdesigners
JavaScript e JQuery para Webdesigners
 
Introdução ao JQuery e AJAX
Introdução ao JQuery e AJAXIntrodução ao JQuery e AJAX
Introdução ao JQuery e AJAX
 
JQuery Alagoinhas Dev Day - UNEB
JQuery Alagoinhas Dev Day - UNEBJQuery Alagoinhas Dev Day - UNEB
JQuery Alagoinhas Dev Day - UNEB
 
Google apps script - Parte 2
Google apps script - Parte 2Google apps script - Parte 2
Google apps script - Parte 2
 
Html dom, eventos, jquery
Html dom, eventos, jqueryHtml dom, eventos, jquery
Html dom, eventos, jquery
 
Jquery 2
Jquery 2Jquery 2
Jquery 2
 
Mini Curso de Python para Coding Dojo
Mini Curso de Python para Coding DojoMini Curso de Python para Coding Dojo
Mini Curso de Python para Coding Dojo
 
Mini Curso PHP Twig - PHP Conference 2017
Mini Curso PHP Twig - PHP Conference 2017 Mini Curso PHP Twig - PHP Conference 2017
Mini Curso PHP Twig - PHP Conference 2017
 
XHtml
XHtmlXHtml
XHtml
 
Melhorando a Experiência do Usuário com JavaScript e jQuery
Melhorando a Experiência do Usuário com JavaScript e jQueryMelhorando a Experiência do Usuário com JavaScript e jQuery
Melhorando a Experiência do Usuário com JavaScript e jQuery
 
Angular JS, você precisa conhecer
Angular JS, você precisa conhecerAngular JS, você precisa conhecer
Angular JS, você precisa conhecer
 
LPII_Aula_7-JQuery.pdf
LPII_Aula_7-JQuery.pdfLPII_Aula_7-JQuery.pdf
LPII_Aula_7-JQuery.pdf
 
Interfaces Ricas para WEB com jQuery e jQueryUI (User Interface)
Interfaces Ricas para WEB com jQuery e jQueryUI (User Interface)Interfaces Ricas para WEB com jQuery e jQueryUI (User Interface)
Interfaces Ricas para WEB com jQuery e jQueryUI (User Interface)
 
Angular js
Angular jsAngular js
Angular js
 
Html5 storage api
Html5 storage apiHtml5 storage api
Html5 storage api
 
Programação Web com jQuery
Programação Web com jQueryProgramação Web com jQuery
Programação Web com jQuery
 
TDC2016POA | Trilha Android - Testes no Android
TDC2016POA | Trilha Android - Testes no AndroidTDC2016POA | Trilha Android - Testes no Android
TDC2016POA | Trilha Android - Testes no Android
 
TDC2016POA | Trilha Android - Testes no Android
TDC2016POA | Trilha Android - Testes no AndroidTDC2016POA | Trilha Android - Testes no Android
TDC2016POA | Trilha Android - Testes no Android
 
Beagajs
BeagajsBeagajs
Beagajs
 

Mais de COTIC-PROEG (UFPA) (20)

LT - Redis
LT - RedisLT - Redis
LT - Redis
 
LT Ansible
LT AnsibleLT Ansible
LT Ansible
 
Testes automatizados com Cypress
Testes automatizados com CypressTestes automatizados com Cypress
Testes automatizados com Cypress
 
Loop back
Loop backLoop back
Loop back
 
METEOR
METEORMETEOR
METEOR
 
Desenvolvimento de software tradicional vs ágil
Desenvolvimento de software tradicional vs ágilDesenvolvimento de software tradicional vs ágil
Desenvolvimento de software tradicional vs ágil
 
Canva
CanvaCanva
Canva
 
Git v2
Git v2Git v2
Git v2
 
Atitudes que levam ao Fracasso profissional
Atitudes que levam ao Fracasso profissionalAtitudes que levam ao Fracasso profissional
Atitudes que levam ao Fracasso profissional
 
Os 5 Sensos da Qualidade
Os 5 Sensos da QualidadeOs 5 Sensos da Qualidade
Os 5 Sensos da Qualidade
 
WATSON - O Fascinante Computador da IBM
WATSON - O Fascinante Computador da IBMWATSON - O Fascinante Computador da IBM
WATSON - O Fascinante Computador da IBM
 
Produtividade sem enrrolação
Produtividade sem enrrolaçãoProdutividade sem enrrolação
Produtividade sem enrrolação
 
LAB JavaScript
LAB JavaScriptLAB JavaScript
LAB JavaScript
 
Principios e Valores Ágeis
Principios e Valores ÁgeisPrincipios e Valores Ágeis
Principios e Valores Ágeis
 
Big data
Big dataBig data
Big data
 
Metricas para Times Ágeis
Metricas para Times ÁgeisMetricas para Times Ágeis
Metricas para Times Ágeis
 
Aplicação de Abordagens Ágeis: Estudo de Caso de utlização do SCRUM – PROEG/UFPA
Aplicação de Abordagens Ágeis: Estudo de Caso de utlização do SCRUM – PROEG/UFPAAplicação de Abordagens Ágeis: Estudo de Caso de utlização do SCRUM – PROEG/UFPA
Aplicação de Abordagens Ágeis: Estudo de Caso de utlização do SCRUM – PROEG/UFPA
 
Técnicas para Programação em Par
Técnicas para Programação em ParTécnicas para Programação em Par
Técnicas para Programação em Par
 
Feedback Canvas
Feedback CanvasFeedback Canvas
Feedback Canvas
 
5 Doenças do Gerenciamento de Projetos
5 Doenças do Gerenciamento de Projetos5 Doenças do Gerenciamento de Projetos
5 Doenças do Gerenciamento de Projetos
 

Labs JavaScript - AIT

  • 1. LAB’s AIT vitor$ /etc/init.d/javascript start by @VitorCastro sexta-feira, 2 de agosto de 13
  • 3. JavaScript Linguagem de programação interpretada Roda nos navegadores web (cliente) caracteristicas++ sexta-feira, 2 de agosto de 13
  • 4. Show me the code !!! <html> <script> <!-- type="text/javascript" --> code... </script> </html> OU <script src=”<endereco>.js”></script> sexta-feira, 2 de agosto de 13
  • 5. Declarando variável var nomeDaVariavel = valorDaVariavel; // ou sem o ponto e vírgula sexta-feira, 2 de agosto de 13
  • 6. Tipos de Dados Array -> var array = new Array() Number -> var number = new Number() Boolean -> var bool = new Boolean() Object -> var object = { prop: val, method: function () {} } String -> var string = new String() +++ sexta-feira, 2 de agosto de 13
  • 7. E o Document..Object..Model.. variável “window” é a raiz de tudo. Mas que usamos é o “document” métodos #notBad document.getElementById(id) //busca por Id document.getElementsByName(name) // busca por pelo atributo name document.getElementsByTagName(nameTag) // buscar pelo nome da tag sexta-feira, 2 de agosto de 13
  • 9. IF ELSE FOR SWITH if (expression){ }else { } for (var index = 0; index < length; index++){ } switch(data) { case value: { code.. break;} default: break; } sexta-feira, 2 de agosto de 13
  • 10. function function nameFunction(){ code... } sexta-feira, 2 de agosto de 13
  • 11. others function dos object do D..O..M.. .innerHTML .length .value .item(index) [Object NodeList] +++ sexta-feira, 2 de agosto de 13
  • 12. EVENT CLICK botao.onclick = function () { } OU botao.addEventListener(“click”, function(){ }) sexta-feira, 2 de agosto de 13
  • 13. Missão #1 sexta-feira, 2 de agosto de 13
  • 14. #RULES if (google.com.br) return false; if (facebook.com) return false; if (gmail.com || hotmail.com || @qualquerEmail) return false; if (coding) return like; sexta-feira, 2 de agosto de 13
  • 15. index.html <h1>Controle Remoto</h1> <a id="cima" href="#quadro">Cima (10)</a> <a id="baixo" href="#quadro">Baixo (20)</a> <a id="esquerda" href="#quadro">Esquerda (30)</a> <a id="direita" href="#quadro">Direita (40)</a><br> <input type="text" disabled="disabled" size="10" maxlength="10" name="linhaComando"> <button id="printComando">Processar Comando</button> <br> <div id="quadro" style="display: none;"> ! <span style="font-size: 16px"></span><br> ! <span style="font-size: 14px"></span> </div> sexta-feira, 2 de agosto de 13
  • 16. //TODO #1 Ao clicar nos links “Cima”“Baixo”“Direita” e “Esquerda”, salvar a sequencia de comandos Ex: Clicar em Cima e Baixo Gerar C,B sexta-feira, 2 de agosto de 13
  • 17. //TODO #2 Ao clicar no botão “Processar comando”: Escrever o comando no input Escrever no primeiro <span> o comando Escrever no segundo <span> o custo do comando Ex: Cima + Baixo = (10 + 20) -> 30 sexta-feira, 2 de agosto de 13
  • 18. //TODO #3 O máximo de comandos clicados deve ser 5 Quando for clicado o sexto comando, gerar um popup(alert) informando e zerar a lista de comandos Se clicar direto no “Processar comando” sem comandos clicados não exibir os <span> sexta-feira, 2 de agosto de 13
  • 19. TIMEBOX 30 Minutos para o CODE 5 Minutos para cada participante apresentar o que fez para os demais window.location = “http://github.com” #openTheBox sexta-feira, 2 de agosto de 13
  • 20. sexta-feira, 2 de agosto de 13