LabMM3 - Aula teórica 05
Upcoming SlideShare
Loading in...5
×
 

LabMM3 - Aula teórica 05

on

  • 1,128 views

 

Statistics

Views

Total Views
1,128
Views on SlideShare
1,124
Embed Views
4

Actions

Likes
0
Downloads
95
Comments
0

1 Embed 4

http://paper.li 4

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

LabMM3 - Aula teórica 05 LabMM3 - Aula teórica 05 Presentation Transcript

  • JavaScriptCarlos SantosLabMM 3 - NTC - DeCA - UAAula 05, 26-09-2011
  • Vencedores do desafio lançado no facebook!
  • 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)
  • 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”!”
  • Tipos de dados: Exemplo sequências de escape Tabela retirada de “Beginning JavaScript, pág 19
  • 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!
  • 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,...
  • 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
  • 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”
  • 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?
  • 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;
  • 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?
  • 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
  • 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”
  • 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
  • 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
  • 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 • ...
  • 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 */
  • Exemplo aula: bases numéricas• Qual o valor de “A3” em decimal?