t05_lm3: javascript (2013-2014)
DESCRIPTION
TRANSCRIPT
![Page 1: T05_LM3: Javascript (2013-2014)](https://reader033.vdocuments.site/reader033/viewer/2022051610/5494c5b9ac79593b2e8b4c3e/html5/thumbnails/1.jpg)
![Page 2: T05_LM3: Javascript (2013-2014)](https://reader033.vdocuments.site/reader033/viewer/2022051610/5494c5b9ac79593b2e8b4c3e/html5/thumbnails/2.jpg)
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 podem ser complexas mas são simples de aplicar nos casos mais regulares
• https://developer.mozilla.org/en/JavaScript/Reference/Operators/Operator_Precedence
![Page 3: T05_LM3: Javascript (2013-2014)](https://reader033.vdocuments.site/reader033/viewer/2022051610/5494c5b9ac79593b2e8b4c3e/html5/thumbnails/3.jpg)
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”
![Page 4: T05_LM3: Javascript (2013-2014)](https://reader033.vdocuments.site/reader033/viewer/2022051610/5494c5b9ac79593b2e8b4c3e/html5/thumbnails/4.jpg)
Conversão para número
• “Soma” de duas strings que podem ser interpretadas como número:
• var soma = “12” + “34”; => “1234”
• var resultado = “2” * “4”; => 8
• 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
![Page 5: T05_LM3: Javascript (2013-2014)](https://reader033.vdocuments.site/reader033/viewer/2022051610/5494c5b9ac79593b2e8b4c3e/html5/thumbnails/5.jpg)
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
![Page 6: T05_LM3: Javascript (2013-2014)](https://reader033.vdocuments.site/reader033/viewer/2022051610/5494c5b9ac79593b2e8b4c3e/html5/thumbnails/6.jpg)
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
• ...
![Page 7: T05_LM3: Javascript (2013-2014)](https://reader033.vdocuments.site/reader033/viewer/2022051610/5494c5b9ac79593b2e8b4c3e/html5/thumbnails/7.jpg)
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-linhaque só termina quando encontrar
*/
![Page 8: T05_LM3: Javascript (2013-2014)](https://reader033.vdocuments.site/reader033/viewer/2022051610/5494c5b9ac79593b2e8b4c3e/html5/thumbnails/8.jpg)
JavaScript: Decisões... decisões
Carlos SantosLabMM 3 - NTC - DeCA - UAAula 05, 25-09-2013
![Page 9: T05_LM3: Javascript (2013-2014)](https://reader033.vdocuments.site/reader033/viewer/2022051610/5494c5b9ac79593b2e8b4c3e/html5/thumbnails/9.jpg)
Indecisões? Não temos!
![Page 10: T05_LM3: Javascript (2013-2014)](https://reader033.vdocuments.site/reader033/viewer/2022051610/5494c5b9ac79593b2e8b4c3e/html5/thumbnails/10.jpg)
Um computador...
• é capaz de tomar decisões com base na informação recolhida;
• as decisões são tomadas com base em condições;
• todas as condições têm que resultar num valor booleano: true ou false
• normalmente, as condições são construídas tendo por base operadores de comparação e operadores lógicos.
![Page 11: T05_LM3: Javascript (2013-2014)](https://reader033.vdocuments.site/reader033/viewer/2022051610/5494c5b9ac79593b2e8b4c3e/html5/thumbnails/11.jpg)
Operadores de comparação
a < boperando esquerdo operando direito
operador
true false
“O valor de a é menor do que o valor de b?
![Page 12: T05_LM3: Javascript (2013-2014)](https://reader033.vdocuments.site/reader033/viewer/2022051610/5494c5b9ac79593b2e8b4c3e/html5/thumbnails/12.jpg)
Operadores de comparação
Operador Significado
==
<
>
<=
>=
!=
igual
menor
maior
menor ou igual
maior ou igual
diferente (não igual)
![Page 13: T05_LM3: Javascript (2013-2014)](https://reader033.vdocuments.site/reader033/viewer/2022051610/5494c5b9ac79593b2e8b4c3e/html5/thumbnails/13.jpg)
Operadores de comparação: exemplos
var a = 5;
var b = 10;
var c = 2;
• Qual o resultado das seguintes comparações?
a > b; //?
b < 50; //?
a >= 10 % 2; //?
a > b > c; //?
![Page 14: T05_LM3: Javascript (2013-2014)](https://reader033.vdocuments.site/reader033/viewer/2022051610/5494c5b9ac79593b2e8b4c3e/html5/thumbnails/14.jpg)
Operadores de comparação: precedências
Operadores Precedência
<, >, <=, >=
==, !=
mais elevada
menos elevada
![Page 15: T05_LM3: Javascript (2013-2014)](https://reader033.vdocuments.site/reader033/viewer/2022051610/5494c5b9ac79593b2e8b4c3e/html5/thumbnails/15.jpg)
Operadores de comparação: exemplos
var a = 5;
var b = 10;
var c = 2;
• Qual o resultado da expressão?
a > b == b < c; //?
![Page 16: T05_LM3: Javascript (2013-2014)](https://reader033.vdocuments.site/reader033/viewer/2022051610/5494c5b9ac79593b2e8b4c3e/html5/thumbnails/16.jpg)
Tantos iguais?
Operador Significado
=
==
===
atribuição
comparação: igual
comparação: igual com verificação de tipo de dados
![Page 17: T05_LM3: Javascript (2013-2014)](https://reader033.vdocuments.site/reader033/viewer/2022051610/5494c5b9ac79593b2e8b4c3e/html5/thumbnails/17.jpg)
Armazenar resultados de comparações
var age = prompt(“Enter age:”, “”);
var isOverSixty = parseInt(age) > 60;
document.write(“Older than 60: “ + isOverSixty);
//Older than 60: false|true
Exemplo retirado de “Beginning JavaScript”, pág. 54
![Page 18: T05_LM3: Javascript (2013-2014)](https://reader033.vdocuments.site/reader033/viewer/2022051610/5494c5b9ac79593b2e8b4c3e/html5/thumbnails/18.jpg)
Operadores lógicos
Operador Significado
&&
||
!
AND (E)
OR (OU)
NOT (NEGAÇÃO)
![Page 19: T05_LM3: Javascript (2013-2014)](https://reader033.vdocuments.site/reader033/viewer/2022051610/5494c5b9ac79593b2e8b4c3e/html5/thumbnails/19.jpg)
Operadores lógicos: como utilizar
• “A UA tem mais de 45 anos e menos de 50 anos?”
• 45 < idadeUA < 50; //?
• idadeUA > 45 && idadeUA < 50; //?
• NOTA: os operadores lógicos têm menor precedência do que os operadores de comparação.
![Page 20: T05_LM3: Javascript (2013-2014)](https://reader033.vdocuments.site/reader033/viewer/2022051610/5494c5b9ac79593b2e8b4c3e/html5/thumbnails/20.jpg)
Tabelas de verdade: AND
a b a && b
TRUE TRUE
FALSE TRUE
TRUE FALSE
FALSE FALSE
TRUE
FALSE
FALSE
FALSE
![Page 21: T05_LM3: Javascript (2013-2014)](https://reader033.vdocuments.site/reader033/viewer/2022051610/5494c5b9ac79593b2e8b4c3e/html5/thumbnails/21.jpg)
Tabelas de verdade: OR
a b a || b
TRUE TRUE
FALSE TRUE
TRUE FALSE
FALSE FALSE
TRUE
TRUE
TRUE
FALSE
![Page 22: T05_LM3: Javascript (2013-2014)](https://reader033.vdocuments.site/reader033/viewer/2022051610/5494c5b9ac79593b2e8b4c3e/html5/thumbnails/22.jpg)
Tabelas de verdade: NOT
a !a
TRUE
FALSE
FALSE
TRUE
![Page 23: T05_LM3: Javascript (2013-2014)](https://reader033.vdocuments.site/reader033/viewer/2022051610/5494c5b9ac79593b2e8b4c3e/html5/thumbnails/23.jpg)
Operadores lógicos: exemplos
var a = 5;
var b = 10;
var c = 2;
• Qual o resultado das seguintes comparações?
a > b && b < c; //?
a < b && b < c; //?
a < b || b < c; //?
a > b || b < c; //?
!(a > c); //?
a < b || b < c && a < c; //?