LabMM3 - Aula teórica 16

22
JavaScript: mais objetos - String, Date e Math Carlos Santos LabMM 3 - NTC - DeCA - UA Aula 16, 21-11-2011

Transcript of LabMM3 - Aula teórica 16

Page 1: LabMM3 - Aula teórica 16

JavaScript: mais objetos - String, Date e Math

Carlos SantosLabMM 3 - NTC - DeCA - UAAula 16, 21-11-2011

Page 2: LabMM3 - Aula teórica 16

Objetos nativos do JavaScript

• Objeto Array

• estudado na aula 10

• Outros objetos do JavaScript

• cada tipo de dado primitivo tem um objeto equivalente

• string

• number

• boolean

• Math, Date,...

Page 3: LabMM3 - Aula teórica 16

Objetos String

• Como criar:

• var string1 = new String(“Hello World”);

• var string1 = “Hello World”;

• Qual o melhor método?

• No JavaScript os métodos e propriedades dos objetos podem ser aplicados em variáveis do mesmo tipo de dados;

• Não havendo dúvidas sobre o tipo de dados, o segundo método é preferível;

• Dessa forma é possível comparar o conteúdo e não os objetos!

Page 4: LabMM3 - Aula teórica 16

Objetos String

• O que é uma string?

• Propriedade length

• string1.length; // resultado será 11

0 1 2 3 4 5 6 7 8 9 10H e l l o W o r l dCarácter

Índice

Page 5: LabMM3 - Aula teórica 16

Objetos String

• Pesquisar uma string dentro de outra string

• indexOf()

• lastIndexOf()

• Parâmetros

• A string a pesquisar;

• A posição/índice a partir da qual se quer iniciar a pesquisa (opcional).

• Resultado

• A posição onde a string foi encontrada (começa em 0);

• -1 se não for encontrada.

Page 6: LabMM3 - Aula teórica 16

Objetos String

• Exemplo 1

var myString = “Hello jeremy. How are you Jeremy”;

var foundAtPosition;

foundAtPosition = myString.indexOf(“Jeremy”);

alert(foundAtPosition); // ??

Exemplos retirados do Cap. 5 do livro Beginning Javascript

Page 7: LabMM3 - Aula teórica 16

Objetos String

• Exemplo 2

var myString = “Hello Jeremy. How are you Jeremy”;

var foundAtPosition;

foundAtPosition = myString.lastIndexOf(“Jeremy”);

alert(foundAtPosition); // ??

Page 8: LabMM3 - Aula teórica 16

Objetos String

• Exemplo 3

var myString = “Hello Jeremy. How are you Jeremy”;

var foundAtPosition;

foundAtPosition = myString.indexOf(“Jeremy”);

alert(foundAtPosition); // ??

• Como encontrar todas as ocorrências de “Jeremy”?

Page 9: LabMM3 - Aula teórica 16

Objetos String

• Exemplo 4

var myString = "Hello Jeremy. How are you Jeremy";

var foundAtPosition = -1;

do {

foundAtPosition = myString.indexOf("Jeremy", foundAtPosition + 1);

alert(foundAtPosition); // ??

} while (foundAtPosition != -1)

Page 10: LabMM3 - Aula teórica 16

Objetos String

• Copiar parte de uma string

• substr()

• substring()

• Parâmetros

• Primeiro parâmetro: posição inicial;

• Segundo parâmetro é opcional e diferente para cada método:

• substr: número de caracteres a copiar (length).

• substring: posição posterior ao último carácter a copiar;

• Resultado: Substring copiada da string original

Page 11: LabMM3 - Aula teórica 16

Objetos String

• Exemplo 5

var myString = “JavaScript”;

var mySubString = myString.substring(0,4);

alert(mySubString); // ??

• Exemplo 6

var myString = “JavaScript”;

var mySubString = myString.substr(0,4);

alert(mySubString);

• Sem o segundo parâmetro o resultado é a cópia até ao final da string

Page 12: LabMM3 - Aula teórica 16

Objetos String

• Exemplo 7

var fileName = window.location.href;fileName = fileName.substr(fileName.lastIndexOf(“/”) + 1); alert(fileName); // ??

• Qual o resultado deste código?

Page 13: LabMM3 - Aula teórica 16

Objetos String

• Conversão para maiúsculas e minúsculas

• toLowerCase()

• toUpperCase()

• Parâmetros

• Não existem.

• Resultado

• A string original convertida para maiúsculas ou minúsculas

Page 14: LabMM3 - Aula teórica 16

Objetos String

• Exemplo 8

var myString = “I Don’t Care About Case”

if (myString.toLowerCase() == “i don’t care about case”)

{

alert(“Who cares about case?”);

}

• Qual o resultado deste código?

Page 15: LabMM3 - Aula teórica 16

Objetos String

• Obter apenas um carácter da string

• charAt()

• charCodeAt()

• Parâmetros

• Posição/índice do carácter a obter numa string

• Resultado:

• charAt: o carácter na posição;

• charCodeAt: o código ASCII do carácter na posição

Page 16: LabMM3 - Aula teórica 16

Objetos String

• Exemplo 8

var myString = “Hello World!”

alert (myString.charAt(2)); // ??

alert (myString.charCodeAt(2)); // ??

• Mais métodos de manipulação de strings

• Estudar Capítulo 9 do livro “Beginning JavaScript”

• Especial destaque para parte de “Expressões regulares” que são fundamentais para pesquisas mais avançadas.

Page 17: LabMM3 - Aula teórica 16

Objetos Date

• Este objeto facilita o acesso a informação e manipulação de dados relacionados com datas.

• A lista é extensa e pode ser consultada em:

• http://www.w3schools.com/jsref/jsref_obj_date.asp

Page 18: LabMM3 - Aula teórica 16

Objetos Date

• Declaração

• var theDate1 = new Date(); // objeto inicializado com a data atual do computador onde está a correr o script

• var theDate2 = new Date(949278000000);

• var theDate3 = new Date(“31 January 2010”);

• var theDate4 = new Date(2010,0,31,15,35,20,20);

Page 19: LabMM3 - Aula teórica 16

Objetos Date

• Obter referência temporal actual

• getTime()

• Parâmetros

• Nenhum

• Resultado:

• Retorna o número de milissegundos passados desde o início do dia 1 de Janeiro de 1970.

Page 20: LabMM3 - Aula teórica 16

Objetos Date

• Exemplo 9

var d = new Date();

alert(d.getTime() + " ms desde 1970/01/01");

Page 21: LabMM3 - Aula teórica 16

Objetos Date

• Exemplo 10 - saber o tempo decorrido desde o início de um jogo

• no arranque:

var dataInicial = new Date();

tempoInicial = dataInicial.getTime(); // var global

• em qualquer momento do jogo:

var dataActual = new Date();

var tempoActual = dataActual.getTime();

var tempoJogo = Math.floor((tempoActual-tempoInicial)/1000);

Page 22: LabMM3 - Aula teórica 16

Objetos Math

• Este objeto facilita o acesso a informação e manipulação de variáveis do tipo numérico.

• A lista é extensa e pode ser consultada em:

• http://www.w3schools.com/jsref/jsref_obj_math.asp