Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

JS 101 - Introdução ao JavaScript

786 views

Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

JS 101 - Introdução ao JavaScript

  1. 1. JS 101 Introdução a Programação em JavaScriptquarta-feira, 19 de outubro de 11
  2. 2. Arquitetura REST WWWquarta-feira, 19 de outubro de 11
  3. 3. CLIENTE-SERVIDOR CLIENTE SERVIDORquarta-feira, 19 de outubro de 11
  4. 4. STATELESS CLIENTE CLIENTE SERVIDOR CLIENTEquarta-feira, 19 de outubro de 11
  5. 5. CACHE CLIENTE $ CLIENTE $ SERVIDOR $ CLIENTEquarta-feira, 19 de outubro de 11
  6. 6. INTERFACE COMUM SERVIDOR CLIENTE $ CLIENTE $ SERVIDOR $ CLIENTEquarta-feira, 19 de outubro de 11
  7. 7. CAMADAS PROXY $ SERVIDOR CLIENTE $ CLIENTE $ PROXY $ SERVIDOR $ CLIENTEquarta-feira, 19 de outubro de 11
  8. 8. CÓDIGO SOB DEMANDA PROXY $ SERVIDOR CLIENTE $ CLIENTE $ PROXY $ SERVIDOR $ CLIENTEquarta-feira, 19 de outubro de 11
  9. 9. = JavaScriptquarta-feira, 19 de outubro de 11
  10. 10. PROTOCOLO HTTP Protocolo usado na Web “Interface Comum” mencionada pelo RESTquarta-feira, 19 de outubro de 11
  11. 11. Anatomia do HTTPquarta-feira, 19 de outubro de 11
  12. 12. Anatomia do HTTP Requisição CLIENTE SERVIDOR Respostaquarta-feira, 19 de outubro de 11
  13. 13. REQUISIÇÃO Verbo Resource Cabeçalhos Corpo da Mensagem (Opcional)quarta-feira, 19 de outubro de 11
  14. 14. REQUISIÇÃO Verbo Resource Cabeçalhosquarta-feira, 19 de outubro de 11
  15. 15. RESPOSTA Status Cabeçalhos Corpo da Mensagemquarta-feira, 19 de outubro de 11
  16. 16. RESPOSTA Status Cabeçalhosquarta-feira, 19 de outubro de 11
  17. 17. VERBOS GET POST HEAD PUT DELETE TRACE OPTIONS CONNECT PATCHquarta-feira, 19 de outubro de 11
  18. 18. STATUS (Alguns exemplos) 200 (OK) 301 (MOVED PERMANENTLY) 404 (NOT FOUND) 500 (INTERNAL SERVER ERROR)quarta-feira, 19 de outubro de 11
  19. 19. JavaScript Linguagem de Programação Alto Nível Netscape, 1995quarta-feira, 19 de outubro de 11
  20. 20. JavaScript vs Java Frequentemente Confundido com Java Convenções de nomes são semelhantes Ambos herdam a sintaxe do Cquarta-feira, 19 de outubro de 11
  21. 21. Java Python Forte Estática Dinâmica Fraca C JavaScriptquarta-feira, 19 de outubro de 11
  22. 22. Hello, World! document.write(Hello, World!);quarta-feira, 19 de outubro de 11
  23. 23. Variáveis, ifs, loops var max = 20; for (var i = 0; i < max; i++) { if (i % 2 == 0) { document.writeln("Par: "+i); } else { document.writeln("Impar: "+i); } }quarta-feira, 19 de outubro de 11
  24. 24. Pontos-e-vírgulas São Opcionais var max = 20 for (var i = 0; i < max; i++) { if (i % 2 == 0) { document.writeln("Par: "+i) } else { document.writeln("Impar: "+i) } }quarta-feira, 19 de outubro de 11
  25. 25. Dinamicamente Tipada // mesma variável pode abrigar valores de // tipos diferentes ao longo da execução var foo foo = 5 foo = Hello foo = falsequarta-feira, 19 de outubro de 11
  26. 26. Fracamente Tipada Expressão Resultado 1 == "1" .true. 2-"1" 1 1/"3" 0.3333... 2+"2" 22quarta-feira, 19 de outubro de 11
  27. 27. Fracamente Tipada Expressão Resultado 1 === "1" .false. 2-"1" 1 1/"3" 0.3333... 2+parseInt("2") 4quarta-feira, 19 de outubro de 11
  28. 28. Arrays var arr = [4, 32, 7, false, abc] document.write(arr[0]) // 4 arr.push(9) // [4, 32, 7, false, abc, 9] var p = arr.shift() // [32, 7, false, abc, 9] document.write(p) // 4quarta-feira, 19 de outubro de 11
  29. 29. Objetos var pessoa = { nome: ‘José’, idade: 23 } document.write(pessoa.nome) document.write(pessoa[nome]) // equivalentes pessoa.sexo = M // perfeitamente válido document.write(pessoa.sexo)quarta-feira, 19 de outubro de 11
  30. 30. Funções function somaDois(x) { return x+2 } somaDois(5) // retorna 7quarta-feira, 19 de outubro de 11
  31. 31. Funções de Primeira Classe var mensagem = function() { document.write(Hello!) } mensagem() setTimeout(mensagem, 5000)quarta-feira, 19 de outubro de 11
  32. 32. Funções de Primeira Classe var chamar10x = function(f) { for(var i = 0; i < 10; i++) { f() } } chamar10x(mensagem) var x = 0 chamar10x(function(){ x++ }) document.write(x) // 10quarta-feira, 19 de outubro de 11
  33. 33. Funções + Objetos var pessoa = { nome: "José", sobrenome: "da Silva", nomeCompleto: function() { return this.nome + + this.sobrenome } } document.write(pessoa.nomeCompleto())quarta-feira, 19 de outubro de 11
  34. 34. Protótipos var Pessoa = function(nome, sobrenome){ this.nome = nome this.sobrenome = sobrenome } Pessoa.protoype.nomeCompleto = function() { return this.nome + + this.sobrenome } var p = new Pessoa(José, da Silva) document.write(p.nomeCompleto())quarta-feira, 19 de outubro de 11
  35. 35. Código de Exemplo http://github.com/coreh/js101quarta-feira, 19 de outubro de 11

×