/javascript-estudo

Estudo da linguagem javascript

GNU General Public License v3.0GPL-3.0

Estudo da linguagem javascript

  • Características da linguagem

Conceitos JS

Tecnicas / Design Patterns

Javascript moderno (ES5>)

Desde a versão 52, o Chrome suporta ES6 e ES7.

Manipulação de DOM

  • Definição de DOM
  • Seletores
  • Eventos
    • Keyboard
      • keydown
      • keyup
      • keypress
    • Mouse
      • click
      • dblclick
      • mouseup
      • mousedown
  • Manipulação de Nós
    • createElement
    • appendChild
    • insertBefore
    • replaceChild
    • removeChild
  • addEventListener
  • Problemas do DOM

BOM

  • window
  • document

Armazenamento

  • Cookie
  • LocalStorage
  • SessionStorage

Debug

Usando Chrome dev Tools:

  • Abas
    • Elements
      • Alterando CSS
      • Alterando Dom
      • Filtro de busca
      • Valores computados
      • Listeners
      • Dom Breakpoints
    • Console
    • Sources
      • Sources
      • Snippets
    • Network
      • Analisar Requisição
    • Performance
      • Analise de performance
    • Memory
    • Application
    • Security
    • Audits
    • Modo Mobile

V8 usa JIT (Just In Time Compilation)

O V8 é uma engine javascript de codigo aberto criada e mantida pelo Google, escrita em C++. É usada no Google Chrome e no Node.js. O V8 pode rodar sozinho ou dentro de outra aplicação C++.

Turbofan

Turbofan é um compilador de otimização.

  • Melhor performance de execução comparado com Ignition;
  • Mais lento para gerar codigo, mas é mais otimizado;

Ignition

O Ignition é um interpretador baseado em registradores de baixo nivel que usa o backend do Turbofan.

  • Para ambientes de pouca memória, inicialmente usado para dispositivos mobile, agora usado em todas plataformas;
  • Rapida geração de bytecode, melhora velocidade de startup das paginas;
  • Integra com Turbofan, faz otimização com turbofan mais simples;

Bytecode Pipeline

V8

Orinoco

O garbage collector do V8.

orinoco