O documento apresenta conceitos básicos sobre a linguagem JavaScript, incluindo sua história, características, tipos de variáveis, manipulação de arrays e strings, funções, eventos DOM e console do navegador.
JavaScript
Criado na décadade 90
Brendan Eich – Netscape
Mocha -> LiveScript -> JavaScript -> ...
ECMAScri
ptEvoluir com padrões e normativas
Mantido pelo comitê técnico 39 (TC39)
Composto por especialistas de grandes empresas
(Microsoft, Mozilla, Google)
Características da linguagem
•Linguagem Interpretada
• C-like
• Programação dirigida por
eventos
• Independente de
plataforma
• Tipagem Fraca e Dinâmica
9.
Linguagem Interpretada
Comandos executadosum a um diretamente por um interpretador
Interpretador: Navegador do usuário
Cada Navegador pode interpretar de uma maneira diferente o
mesmo código.
10.
Independente de Plataforma
Comandosinterpretados pelo navegador
Problemas de compatibilidade são referentes aos diferentes
navegadores, não ao sistema operacional do usuário
11.
C-like
Linguagem com asintaxe baseada em C
for(int i = 0; i < MAX; i++) – C
for(let i = 0; i < MAX; i++) – JavaScript
for(int i = 0; i < MAX; i++) – Java
for($i = 0; $i < MAX; $i++) – PHP
for i := 0 to MAX do – Pascal
12.
Programação dirigida aeventos
Rotinas especializada em monitorar eventos
Listeners
“Usuário clicou” “Usuário moveu o mouse em tal lugar”
Fluxo determinado por eventos disparados
13.
Eventos comuns
onclick: Oelemento foi clicado;
onmouseover: O mouse está em cima do elemento;
onmouseout: O mouse estava em cima do elemento e saiu;
onkeydown: Uma tecla foi pressionada no elemento;
onload: O navegador terminou de carregar a página;
onchange: Um elemento foi alterado;
14.
Tipagem fraca edinâmica
Podemos alterar o tipo da variável durante a execução
var x;
x = 10;
x = “foo”;
é permitido, e por causa da tipagem fraca, operações como:
“1” + 1 // 11
1 + true // 2
Variáveis
A tipagem emJS é atribuída dinamicamente, então basta declarar a
variável:
var x;
const x;
let x;
*A diferença entre as três declarações serão mostradas na sessão
sobre escopo.
25.
Conversão
Converte valores deum tipo para outro de forma livre;
Se uma função espera uma String e você passa um Número, ele faz a
conversão automaticamente;
Podemos forçar a conversão:
parseInt(“10”)
parseInt(10.2)
parseFloat(“10.2”)
parseFloat(“10,2)
parseInt(“123abc”)
Callback
“Uma função callbacké uma função passada a outra função como argumento, que é então invocado dentro da função externa para completar algum
tipo de rotina ou ação.”
Function escreveNome(nome){
alert(“O nome é: ” + nome);
}
Function pedeNome(callback){
var nome = prompt(“Qual o nome?”);
callback(nome);
}
pedeNome(escreveNome);