T05_LM3: Javascript (2013-2014)

23

description

 

Transcript of T05_LM3: Javascript (2013-2014)

Page 1: T05_LM3: Javascript (2013-2014)
Page 2: T05_LM3: Javascript (2013-2014)

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)

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)

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)

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)

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)

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)

JavaScript: Decisões... decisões

Carlos SantosLabMM 3 - NTC - DeCA - UAAula 05, 25-09-2013

Page 9: T05_LM3: Javascript (2013-2014)

Indecisões? Não temos!

Page 10: T05_LM3: Javascript (2013-2014)

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)

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)

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)

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)

Operadores de comparação: precedências

Operadores Precedência

<, >, <=, >=

==, !=

mais elevada

menos elevada

Page 15: T05_LM3: Javascript (2013-2014)

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)

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)

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)

Operadores lógicos

Operador Significado

&&

||

!

AND (E)

OR (OU)

NOT (NEGAÇÃO)

Page 19: T05_LM3: Javascript (2013-2014)

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)

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)

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)

Tabelas de verdade: NOT

a !a

TRUE

FALSE

FALSE

TRUE

Page 23: T05_LM3: Javascript (2013-2014)

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; //?