SlideShare uma empresa Scribd logo
1 de 77
Baixar para ler offline
DOMinando JavaScript
Thiago Henrique Poiani 
IFSP - São Carlos 
Tecnólogo em Análise e Desenvolvimento de Sistemas
Thiago Henrique Poiani
Thiago Henrique Poiani
Apresentações
Apresentações 
192.168.210.84:3000
JavaScript 
História
História 
JavaScript é uma linguagem de 
programação interpretada 
Criada por Brendan Eich em 1995 
Padronizada pelo grupo ECMA - ECMAScript
JavaScript 
Por onde começar?
Por onde começar?
Por onde começar? 
Web Console 
Aptana 
Eclipse 
Komodo 
JetBrains WebStorm 
Microsoft Visual Studio 
NetBeans 
Atom 
Brackets 
Notepad++ 
Sublime Text 
Vim
JavaScript 
Hello World
Web Console
JavaScript 
Tipos
…
JavaScript 
Operações
JavaScript 
String
JavaScript 
Array
JavaScript 
Expressões
…
… 
… 
… 
…
… 
… 
…
JavaScript 
Function
…
JavaScript 
Object
Objeto Literal 
…
JSON - JavaScript Object Notation
Função Construtora
Callbacks
AJAX
JavaScript 
Strict Mode
Strict Mode
Intervalo
JavaScript 
Como vou rodar tudo 
que vi até agora em 
um site?
Como vou rodar tudo que vi até agora 
em um site?
Como vou rodar tudo que vi até agora 
em um site?
Como vou rodar tudo que vi até agora 
em um site?
Como vou rodar tudo que vi até agora 
em um site?
Content Delivery Network (CDN)
Minify / Uglify
JavaScript 
O que mais 
JavaScript faz?
O que mais JavaScript faz? 
Manipulação de 
DOM
DOM é uma multi-plataforma que representa como 
as marcações em HTML, XHTML e XML são 
organizadas e lidas pelo navegador
Window Object 
Objeto Window representa a janela que contem o 
DOM. 
Window.alert(); 
Window.open();
Document Object 
Objeto Document, acessível por window.document, 
possui o DOM Tree. 
https://developer.mozilla.org/en-US/docs/Web/API/Document
JavaScript 
Como manipulo um 
nó?
Document Object
Document Object
Document Object 
http://caniuse.com/#feat=queryselector
Document Object
Document Object
Document Object 
http://caniuse.com/#feat=classlist
Cross-browser
Web Semântica 
http://www.w3c.br/Padroes/WebSemantica
Document Object
Document Object
Document Object 
http://html5doctor.com/html5-custom-data-attributes/
JavaScript 
Vamos manipular 
eventos?
Events 
… 
https://developer.mozilla.org/pt-BR/docs/Web/API/Element.addEventListener
Events 
… 
https://developer.mozilla.org/en-US/docs/Web/Events
Events 
…
JavaScript 
this
this 
Toda função, ao ser executada, gera uma associação 
do objeto criado pelo interpretador através da palavra 
reservada this. 
http://tableless.com.br/javascript-entendendo-o-this/
this 
http://tableless.com.br/javascript-entendendo-o-this/
this 
… 
http://tableless.com.br/javascript-entendendo-o-this/
JavaScript 
Hoje e Futuro
Hoje e Futuro
Hoje e Futuro 
http://www.forbes.com/sites/quora/2014/07/14/what-is-the-most-valuable-programming-language-to- 
know-for-the-future-and-why/
JavaScript 
Obrigado!
Agradecimentos 
-2

Mais conteúdo relacionado

Mais procurados

Nodejs - A performance que eu sempre quis ter
Nodejs - A performance que eu sempre quis terNodejs - A performance que eu sempre quis ter
Nodejs - A performance que eu sempre quis terEmerson Macedo
 
Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01   Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01 Léo Dias
 
TDD - Test Driven Development
TDD - Test Driven DevelopmentTDD - Test Driven Development
TDD - Test Driven DevelopmentElias Nogueira
 
Aula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHPAula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHPDaniel Brandão
 
Curso de css3 unidade 1 - introdução ao css
Curso de css3   unidade 1 - introdução ao cssCurso de css3   unidade 1 - introdução ao css
Curso de css3 unidade 1 - introdução ao cssLéo Dias
 
Introdução básica ao JavaScript
Introdução básica ao JavaScriptIntrodução básica ao JavaScript
Introdução básica ao JavaScriptCarlos Eduardo Kadu
 
Desenvolvendo Apps Nativos com Flutter
Desenvolvendo Apps Nativos com FlutterDesenvolvendo Apps Nativos com Flutter
Desenvolvendo Apps Nativos com FlutterPaulo Henrique
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVAMoises Omena
 
POO - Unidade 2 (parte 2) - Classe de Associação, Agregação, Composição (ver...
POO - Unidade 2 (parte 2) - Classe de Associação, Agregação, Composição  (ver...POO - Unidade 2 (parte 2) - Classe de Associação, Agregação, Composição  (ver...
POO - Unidade 2 (parte 2) - Classe de Associação, Agregação, Composição (ver...Marcello Thiry
 
Lógica de Programação com Javascript - Aula #04
Lógica de Programação com Javascript - Aula #04Lógica de Programação com Javascript - Aula #04
Lógica de Programação com Javascript - Aula #04Ramon Kayo
 
13 Java Script - Validação de formulário
13 Java Script  - Validação de formulário13 Java Script  - Validação de formulário
13 Java Script - Validação de formulárioCentro Paula Souza
 
Introdução a Linguagem de Programação PHP
Introdução a Linguagem de Programação PHPIntrodução a Linguagem de Programação PHP
Introdução a Linguagem de Programação PHPClayton de Almeida Souza
 

Mais procurados (20)

Nodejs - A performance que eu sempre quis ter
Nodejs - A performance que eu sempre quis terNodejs - A performance que eu sempre quis ter
Nodejs - A performance que eu sempre quis ter
 
Aula01-JavaScript
Aula01-JavaScriptAula01-JavaScript
Aula01-JavaScript
 
Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01   Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01
 
TDD - Test Driven Development
TDD - Test Driven DevelopmentTDD - Test Driven Development
TDD - Test Driven Development
 
PHP - Introdução
PHP - IntroduçãoPHP - Introdução
PHP - Introdução
 
Aula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHPAula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHP
 
Curso de css3 unidade 1 - introdução ao css
Curso de css3   unidade 1 - introdução ao cssCurso de css3   unidade 1 - introdução ao css
Curso de css3 unidade 1 - introdução ao css
 
Linguagem C - Vetores
Linguagem C - VetoresLinguagem C - Vetores
Linguagem C - Vetores
 
Introdução básica ao JavaScript
Introdução básica ao JavaScriptIntrodução básica ao JavaScript
Introdução básica ao JavaScript
 
Desenvolvendo Apps Nativos com Flutter
Desenvolvendo Apps Nativos com FlutterDesenvolvendo Apps Nativos com Flutter
Desenvolvendo Apps Nativos com Flutter
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVA
 
Java script - funções
Java script - funçõesJava script - funções
Java script - funções
 
POO - Unidade 2 (parte 2) - Classe de Associação, Agregação, Composição (ver...
POO - Unidade 2 (parte 2) - Classe de Associação, Agregação, Composição  (ver...POO - Unidade 2 (parte 2) - Classe de Associação, Agregação, Composição  (ver...
POO - Unidade 2 (parte 2) - Classe de Associação, Agregação, Composição (ver...
 
Flutter
FlutterFlutter
Flutter
 
Lógica de Programação com Javascript - Aula #04
Lógica de Programação com Javascript - Aula #04Lógica de Programação com Javascript - Aula #04
Lógica de Programação com Javascript - Aula #04
 
CSS
CSSCSS
CSS
 
13 Java Script - Validação de formulário
13 Java Script  - Validação de formulário13 Java Script  - Validação de formulário
13 Java Script - Validação de formulário
 
Introdução a Linguagem de Programação PHP
Introdução a Linguagem de Programação PHPIntrodução a Linguagem de Programação PHP
Introdução a Linguagem de Programação PHP
 
Introdução CSS
Introdução CSSIntrodução CSS
Introdução CSS
 
Estrutura de dados - Pilhas
Estrutura de dados - PilhasEstrutura de dados - Pilhas
Estrutura de dados - Pilhas
 

Destaque

Javascript, Done Right
Javascript, Done RightJavascript, Done Right
Javascript, Done RightAndré Luís
 
Javascript levado a serio
Javascript levado a serioJavascript levado a serio
Javascript levado a serioJaydson Gomes
 
Objeto document de JavaScript
Objeto document de JavaScriptObjeto document de JavaScript
Objeto document de JavaScriptpaz_ruiz
 
Como Perder Peso (no browser)
Como Perder Peso (no browser)Como Perder Peso (no browser)
Como Perder Peso (no browser)Zeno Rocha
 
WTF Javascript - FrontInRio 2011
WTF Javascript - FrontInRio 2011WTF Javascript - FrontInRio 2011
WTF Javascript - FrontInRio 2011Leonardo Balter
 
How to create high scalable JavaScript apps for Java Portals
How to create high scalable JavaScript apps for Java PortalsHow to create high scalable JavaScript apps for Java Portals
How to create high scalable JavaScript apps for Java PortalsZeno Rocha
 
Desenvolvimento colaborativo e publicação de Sistemas de Informações Geográfi...
Desenvolvimento colaborativo e publicação de Sistemas de Informações Geográfi...Desenvolvimento colaborativo e publicação de Sistemas de Informações Geográfi...
Desenvolvimento colaborativo e publicação de Sistemas de Informações Geográfi...Thiago Poiani
 
MongoDB Introdução
MongoDB IntroduçãoMongoDB Introdução
MongoDB IntroduçãoThiago Poiani
 
Desbravando o HTML5 Boilerplate
Desbravando o HTML5 BoilerplateDesbravando o HTML5 Boilerplate
Desbravando o HTML5 BoilerplateZeno Rocha
 
Super Trunfo - Case de Dados Abertos
Super Trunfo - Case de Dados AbertosSuper Trunfo - Case de Dados Abertos
Super Trunfo - Case de Dados AbertosZeno Rocha
 
Acesso direto à memória
Acesso direto à memóriaAcesso direto à memória
Acesso direto à memóriaThiago Poiani
 
Javascript Orientado a Objetos - Fisl12
Javascript Orientado a Objetos - Fisl12Javascript Orientado a Objetos - Fisl12
Javascript Orientado a Objetos - Fisl12Emerson Macedo
 
Construindo Projetos Robustos em HTML5
Construindo Projetos Robustos em HTML5Construindo Projetos Robustos em HTML5
Construindo Projetos Robustos em HTML5Zeno Rocha
 

Destaque (20)

Introdução ao JavaScript
Introdução ao JavaScriptIntrodução ao JavaScript
Introdução ao JavaScript
 
It's Javascript Time
It's Javascript TimeIt's Javascript Time
It's Javascript Time
 
Javascript, Done Right
Javascript, Done RightJavascript, Done Right
Javascript, Done Right
 
JavaScript
JavaScriptJavaScript
JavaScript
 
Javascript levado a serio
Javascript levado a serioJavascript levado a serio
Javascript levado a serio
 
Objeto document de JavaScript
Objeto document de JavaScriptObjeto document de JavaScript
Objeto document de JavaScript
 
Como Perder Peso (no browser)
Como Perder Peso (no browser)Como Perder Peso (no browser)
Como Perder Peso (no browser)
 
WTF Javascript - FrontInRio 2011
WTF Javascript - FrontInRio 2011WTF Javascript - FrontInRio 2011
WTF Javascript - FrontInRio 2011
 
How to create high scalable JavaScript apps for Java Portals
How to create high scalable JavaScript apps for Java PortalsHow to create high scalable JavaScript apps for Java Portals
How to create high scalable JavaScript apps for Java Portals
 
Desenvolvimento colaborativo e publicação de Sistemas de Informações Geográfi...
Desenvolvimento colaborativo e publicação de Sistemas de Informações Geográfi...Desenvolvimento colaborativo e publicação de Sistemas de Informações Geográfi...
Desenvolvimento colaborativo e publicação de Sistemas de Informações Geográfi...
 
Bluetooth
BluetoothBluetooth
Bluetooth
 
MongoDB Introdução
MongoDB IntroduçãoMongoDB Introdução
MongoDB Introdução
 
HTML 5
HTML 5HTML 5
HTML 5
 
Desbravando o HTML5 Boilerplate
Desbravando o HTML5 BoilerplateDesbravando o HTML5 Boilerplate
Desbravando o HTML5 Boilerplate
 
Javascript tutorial
Javascript tutorialJavascript tutorial
Javascript tutorial
 
Super Trunfo - Case de Dados Abertos
Super Trunfo - Case de Dados AbertosSuper Trunfo - Case de Dados Abertos
Super Trunfo - Case de Dados Abertos
 
Wordpress
WordpressWordpress
Wordpress
 
Acesso direto à memória
Acesso direto à memóriaAcesso direto à memória
Acesso direto à memória
 
Javascript Orientado a Objetos - Fisl12
Javascript Orientado a Objetos - Fisl12Javascript Orientado a Objetos - Fisl12
Javascript Orientado a Objetos - Fisl12
 
Construindo Projetos Robustos em HTML5
Construindo Projetos Robustos em HTML5Construindo Projetos Robustos em HTML5
Construindo Projetos Robustos em HTML5
 

Semelhante a DOMinando JavaScript

Minicurso Ajax - 5. Semana de Informática PUC Minas São Gabriel
Minicurso Ajax - 5. Semana de Informática PUC Minas São GabrielMinicurso Ajax - 5. Semana de Informática PUC Minas São Gabriel
Minicurso Ajax - 5. Semana de Informática PUC Minas São GabrielMarcelo Linhares
 
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaTécnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaAlexandre Tarifa
 
JustJava 2013: Aplicações Desktop HTML5, CSS3, Javascript com Servlets 3
JustJava 2013: Aplicações Desktop HTML5, CSS3, Javascript com Servlets 3JustJava 2013: Aplicações Desktop HTML5, CSS3, Javascript com Servlets 3
JustJava 2013: Aplicações Desktop HTML5, CSS3, Javascript com Servlets 3Loiane Groner
 
Surpreenda-se com o Silverlight 3
Surpreenda-se com o Silverlight 3Surpreenda-se com o Silverlight 3
Surpreenda-se com o Silverlight 3Rodrigo Kono
 
Introdução ao Adobe Flex
Introdução ao Adobe FlexIntrodução ao Adobe Flex
Introdução ao Adobe FlexRafael Nunes
 
Presentta: usando Node.js na prática
Presentta: usando Node.js na práticaPresentta: usando Node.js na prática
Presentta: usando Node.js na práticaNando Vieira
 
Rio Info 2010 - Oficina - Oficina Papel Devigner Novidades HTML5 - Ricardo Pa...
Rio Info 2010 - Oficina - Oficina Papel Devigner Novidades HTML5 - Ricardo Pa...Rio Info 2010 - Oficina - Oficina Papel Devigner Novidades HTML5 - Ricardo Pa...
Rio Info 2010 - Oficina - Oficina Papel Devigner Novidades HTML5 - Ricardo Pa...Rio Info
 
PHP e AJAX: do Request ao Framework
PHP e AJAX: do Request ao FrameworkPHP e AJAX: do Request ao Framework
PHP e AJAX: do Request ao FrameworkRafael Dohms
 
Precisamos falar sobre MERN stack
Precisamos falar sobre MERN stackPrecisamos falar sobre MERN stack
Precisamos falar sobre MERN stackSidney Roberto
 
Apresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo SitesApresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo Sitesthiagolima
 
Conhecendo a Plataforma .NET
Conhecendo a Plataforma .NETConhecendo a Plataforma .NET
Conhecendo a Plataforma .NETPedro Alves Jr.
 
T03_LM3: Javascript (2013-2014)
T03_LM3: Javascript (2013-2014)T03_LM3: Javascript (2013-2014)
T03_LM3: Javascript (2013-2014)Carlos Santos
 
Microsoft Edge (Teched 2015)
Microsoft Edge (Teched 2015)Microsoft Edge (Teched 2015)
Microsoft Edge (Teched 2015)Fabrício Catae
 
HTML5 - A nova fronteira no desenvolvimento de aplicações WEB
HTML5 - A nova fronteira no desenvolvimento de aplicações WEBHTML5 - A nova fronteira no desenvolvimento de aplicações WEB
HTML5 - A nova fronteira no desenvolvimento de aplicações WEBFábio Flatschart
 

Semelhante a DOMinando JavaScript (20)

Minicurso Ajax - 5. Semana de Informática PUC Minas São Gabriel
Minicurso Ajax - 5. Semana de Informática PUC Minas São GabrielMinicurso Ajax - 5. Semana de Informática PUC Minas São Gabriel
Minicurso Ajax - 5. Semana de Informática PUC Minas São Gabriel
 
HTML5
HTML5HTML5
HTML5
 
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaTécnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
 
Phonegap
PhonegapPhonegap
Phonegap
 
Conceitos de Ajax
Conceitos de AjaxConceitos de Ajax
Conceitos de Ajax
 
Html5
Html5Html5
Html5
 
Mini Curso Mashup Coreu
Mini Curso Mashup CoreuMini Curso Mashup Coreu
Mini Curso Mashup Coreu
 
JustJava 2013: Aplicações Desktop HTML5, CSS3, Javascript com Servlets 3
JustJava 2013: Aplicações Desktop HTML5, CSS3, Javascript com Servlets 3JustJava 2013: Aplicações Desktop HTML5, CSS3, Javascript com Servlets 3
JustJava 2013: Aplicações Desktop HTML5, CSS3, Javascript com Servlets 3
 
Surpreenda-se com o Silverlight 3
Surpreenda-se com o Silverlight 3Surpreenda-se com o Silverlight 3
Surpreenda-se com o Silverlight 3
 
Introdução ao Adobe Flex
Introdução ao Adobe FlexIntrodução ao Adobe Flex
Introdução ao Adobe Flex
 
Presentta: usando Node.js na prática
Presentta: usando Node.js na práticaPresentta: usando Node.js na prática
Presentta: usando Node.js na prática
 
Rio Info 2010 - Oficina - Oficina Papel Devigner Novidades HTML5 - Ricardo Pa...
Rio Info 2010 - Oficina - Oficina Papel Devigner Novidades HTML5 - Ricardo Pa...Rio Info 2010 - Oficina - Oficina Papel Devigner Novidades HTML5 - Ricardo Pa...
Rio Info 2010 - Oficina - Oficina Papel Devigner Novidades HTML5 - Ricardo Pa...
 
PHP e AJAX: do Request ao Framework
PHP e AJAX: do Request ao FrameworkPHP e AJAX: do Request ao Framework
PHP e AJAX: do Request ao Framework
 
Precisamos falar sobre MERN stack
Precisamos falar sobre MERN stackPrecisamos falar sobre MERN stack
Precisamos falar sobre MERN stack
 
Apresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo SitesApresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo Sites
 
Conhecendo a Plataforma .NET
Conhecendo a Plataforma .NETConhecendo a Plataforma .NET
Conhecendo a Plataforma .NET
 
T03_LM3: Javascript (2013-2014)
T03_LM3: Javascript (2013-2014)T03_LM3: Javascript (2013-2014)
T03_LM3: Javascript (2013-2014)
 
introdução a ajax
introdução a ajaxintrodução a ajax
introdução a ajax
 
Microsoft Edge (Teched 2015)
Microsoft Edge (Teched 2015)Microsoft Edge (Teched 2015)
Microsoft Edge (Teched 2015)
 
HTML5 - A nova fronteira no desenvolvimento de aplicações WEB
HTML5 - A nova fronteira no desenvolvimento de aplicações WEBHTML5 - A nova fronteira no desenvolvimento de aplicações WEB
HTML5 - A nova fronteira no desenvolvimento de aplicações WEB
 

DOMinando JavaScript