cefet_front_end

JavaScript parte 1

Inclusão, Mais tipos de dados,
Clicando em botões e Resolvendo equações


Na última aula (1/3)


Na última aula (2/3)


Na ultima aula ##(3/3)


Em alguma aula anterior

O HTML visto como uma árvore

Uma árvore com os elementos HTML


Uma árvore com os elementos HTML


Uma árvore com os elementos HTML


Uma árvore com os elementos HTML


Hoje veremos…

  1. Resolvendo Equações!
  2. Inserindo JavaScript na página
  3. Mais tipos de dados
  4. Clicando em um botão

Resolvendo Equações!

para roubar na prova


Campo de entrada de dados numéricos


Entrada de dados numéricos - atributos


Rótulo para o campo de entrada


Botões de ação


Inserindo JavaScript na página

Formas de insercao de JS:


Três formas de inclusão


Inclusão em páginas

  1. Código embutido :thumbsdown:
    <script>
      // código javascript aqui, dentro do HTML
    </script>
    
    • Evitar isto, para não ferir o princípio da separação de responsabilidades entre as 3 linguagens da Web
  2. Inline :thumbsdown::thumbsdown::thumbsdown:
    <button onclick="javascript: window.alert('papagaio');">Mensagem</button>
    
    • Além de ferir o princípio, não tem como reaproveitar o mesmo código para outros elementos

Sumário de inclusão de JavaScript

Código Quando executa? Reaproveitamento Fica no cache? Boa prática?
Externo Assim que o navegador vê a inclusão e baixa o arquivo Máximo: entre todas as páginas Sim Sim
Embutido Assim que o navegador vê o <script>...</script> Médio: apenas dentro da página Não Não
Inline Quando acontece o evento (eg, click) Nenhum Não Não

Onde colocar <script src="..."></script>?



Mais tipos de dados

Os primitivos e o complexo

[symbol]: https://medium.com/trainingcenter/javascript-symbols-decifrando-o-mist%C3%A9rio-383e359e64e3

O tipo 4. Null

O tipo 5. Undefined


O tipo 7. Object


Objetos conhecidos


Criando um objeto (2 formas)

  1. Na forma literal:
    let jogador = {             // forma mais expressiva, curta e sexy 😎
      pontos: 1420,             // propriedades separadas por vírgula
      vidas: 2
    };
    
    let jogador = {};           // um objeto vazio: { }
    jogador.pontos = 1420;      // criou jogador.pontos com valor 1420
    jogador.vidas = 2;          // criou jogador.vidas
    
    • Novas propriedades podem ser atribuídas mesmo após sua criação!
  2. Na forma do operador new:
    • let jogador = new Object();
      jogador.pontos = 1420;
      jogador.vidas = 2;
      
      • Contudo, desta forma sempre cria-se um objeto vazio e deve-se preenchê-lo

Objetos dentro de objetos

let voo = {
    companhia: 'Gol',
    numero: 815,
    decolagem: {
        IATA: 'SYD',
        horario: '2004-09-22 14:55',
        cidade: 'Sydney'
    },
    chegada: {
        IATA: 'LAX',
        horario: '2004-09-23 10:42',
        cidade: 'Los Angeles'
    }
};

Métodos de objetos

const loja = {
  livros: [       // prop. é um vetor
    'macunaíma',
    'torre negra'
  ],
  dinheiro: 500,  // propri. é number
  
  // método vender
  vender: function() { // p. é função
    this.dinheiro += 15;
  } 
};

loja.vender(); // loja.dinheiro = 515
loja.vender(); // loja.dinheiro = 530

Outros tipos, baseados em Object


Clicando em um botao

Dando comportamento para a pagina


Nosso plano…


Conhecendo o DOM


O objeto document


Selecionando um elemento


Criando um evento de clique


Exemplo de callback


Implementando a função antes


Usando o valor de um input



Referências

  1. Capítulo 2 do livro “Javascript: The Good Parts”
  2. Mozilla Developer Network (MDN)

Erros comuns durante a prática


01. Falhar na indentação e arejamento (1/2)


01. Falhar na indentação e arejamento (2/2)


02. Código com baixa legibilidade


03. Esquecer alert ou console.log


04. Nome genérico para arquivo


05. Sufixo “El” para certas variáveis