LabMM3 - Aula teórica 05

1,095 views
1,028 views

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,095
On SlideShare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
96
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

LabMM3 - Aula teórica 05

  1. 1. JavaScriptCarlos SantosLabMM 3 - NTC - DeCA - UAAula 05, 26-09-2011
  2. 2. Vencedores do desafio lançado no facebook!
  3. 3. Tipos de dados: JavaScript• Tipos de dados mais comuns: • Numéricos • inteiros (ex: 243, -9, 0) • frações/floating-point (ex: 1.2321, -43243.2) • Texto/strings • “...” ou ‘...’ • Booleanos • Verdadeiro (true) ou Falso (false)
  4. 4. Tipos de dados: Escrever strings com ‘ ou “• => It’s friday? • ‘It’s nice!’ • “It’s nice!” • ‘It’s nice!’ //sequência de escape com • => É “fabuloso”! • “É “fabuloso”!” • ‘É “fabuloso”!’ • “É ”fabuloso”!”
  5. 5. Tipos de dados: Exemplo sequências de escape Tabela retirada de “Beginning JavaScript, pág 19
  6. 6. Armazenamento de informação• Armazenamento temporário • Variáveis • armazenadas na memória do computador • grande velocidade de leitura e escrita• Armazenamento permanente • Ficheiros • txt, cookies,... • Bases de dados • em LabMM 4!
  7. 7. Variáveis: JavaScript• Case sensitive • mVariavel é diferente de mvariavel• Palavras chave e palavras reservadas • todas as palavras que fazem parte da linguagem e mais algumas... • http://www.quackit.com/javascript/javascript_reserved_words.cfm (lista completa)• Caracteres proibidos - todos os especiais com exceção do “_” e “$” • &, %, ?,... (palavras com acentos não devem ser utilizadas!)• Nomes têm que começar com: letra, “_” ou “$”• Ser consistente nos nomes e na forma! • por exemplo, lower camel case, nomes com significado, prefixos,...
  8. 8. Variáveis: JavaScript• Declaração • var minhaVariavel;• Atribuição • minhaVariavel = 30; • var outraVariavel = “Olá”; • minhaVariavel = outraVariavel;• Valor de uma variável não inicializada • undefined
  9. 9. typeof() - Qual o tipo de dados?• Para saber o tipo de dados armazenado numa variável • typeof(variavel); // retorna o tipo de dados armazenado• Resultados possíveis: • “undefined” • “boolean” • “string” • “number” • “object” //se é um objecto ou null • “function”
  10. 10. Cálculos numéricos: expressões• Atribuição de valores a variáveis • var intTotal = 10; // O “=” é o operador de atribuição • var jogoA = 4, jogoB; • jogoB = 5; • intTotal = jogoA + jogoB; // resultado?
  11. 11. Operadores aritméticos• Operadores base • +, -, *, /• % Módulo (resto da divisão inteira) • a = 13 % 4; => 1• ++/-- Incremento/Decremento • y++; => y = y + 1; • y--; => y = y - 1; • NOTA: numa expressão, y++ ou ++y pode provocar resultados diferentes• - negação • y = -a;
  12. 12. Operadores de atribuição• Outros operadores • x += 5; => x = x + 5; • x += z; => x = x + z; • x -= 5; => x = x - 5; • x *= 5; => x = x * 5; • x /= 5; => x = x / 5; • x %= 5; => x = x % 5;• Assumindo um valor inicial de x = 10 e z = 2, qual o resultado de cada uma das expressões anteriore?
  13. 13. Regras de precedência• Podem ser muito complexas mas para já só precisamos das aplicáveis na matemática básica. • resultado = 5 * 2 + 3; => ? • resultado = 5 + 2 * 3; => ? • resultado = 5 * (2 + 3); => ? • resultado = 2 + 4 * (2 - 1); => ?• Regras globais de precedência são complexas mas simples de aplicar nos casos mais regulares! • https://developer.mozilla.org/en/JavaScript/Reference/Operators/Operator_Precedence
  14. 14. Concatenação de strings• Exemplos: • var nome = “Ana” + “Lopes”; => “AnaLopes” • var nome = “Ana” + “ Lopes”; => “Ana Lopes” • var nome = “Ana” + “ “ + “Lopes”; => “Ana Lopes”• Concatenação de strings com números: • var t = “A minha idade: “ + 21; => “A minha idade: 21”
  15. 15. Conversão para número• Soma de duas strings que podem ser interpretadas como número: • var soma = “12” + “34”; => “1234” • var legumes = 1 + 4 + “nabos”; => “5nabos” • var legumes = “nabos” + 1 + 4; => “nabos14”• Conversão para número • parseInt(string); => número inteiro • parseFloat(string); => número real
  16. 16. parseInt() e parseFloat()• Exemplos: • var soma = parseInt(“12”) + parseInt(“34”); => 46 • var numero = parseInt(“342abb”); => 342 • var numero = parseFloat(“3.02ppp”); => 3.02• Nem sempre é possível converter para número: • var num = parseInt(“teste”); => NaN (Not a Number) • var num = parseInt(“a123”); => NaN
  17. 17. Tipos de dados: para mais detalhes• Estudar Capítulo 3, até à pág. 40, do livro “Professional JavaScript for Web Developers” • Exemplos mais complexos: • var num3 = Number(“000011”); //11 • isNaN(10); //false • if (string) -> true ou false? • var num3 = parseInt(“10”, 10); //10 - parsed as decimal • ...
  18. 18. Comentários• Uma linha: // Isto é um comentário de uma linha // Para segunda linha é necessário repetir código• Várias linhas: /* Isto é um comentário multi-linha que só termina quando encontrar */
  19. 19. Exemplo aula: bases numéricas• Qual o valor de “A3” em decimal?

×