SlideShare uma empresa Scribd logo
1 de 22
Baixar para ler offline
JavaScript: mais objetos - String, Date e Math
Carlos Santos

LabMM 3 - NTC - DeCA - UA

Aula 15 e 16, 06-11-2013 e 8-11-2013
Objetos nativos do JavaScript
• Array
• estudado numa das aula anteriores...

• outros objetos do JavaScript
• cada tipo de dados primitivo tem um objeto equivalente

• string

• number

• boolean

• Math, Date,...
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 também 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, porque...

• dessa forma é possível comparar o conteúdo e não os objetos!
Objetos String
• O que é uma string?
!
Índice

0

1

2

3

4

!
Caracter

H

e

l

l

o

5

6

7

8

9

10

W

o

r

l

d

!

• Propriedade length
• string1.length; // resultado será 11
Objetos String
• Pesquisar uma string dentro de outra string
• indexOf()!
• lastIndexOf()!
• Parâmetros
• A substring a pesquisar;

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

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

• -1 se não for encontrada.
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
Objetos String
• Exemplo 2
var myString = “Hello Jeremy. How are you Jeremy”;!
var foundAtPosition;!
foundAtPosition = myString.lastIndexOf(“Jeremy”);!
alert(foundAtPosition); // ??
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”?
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)
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
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

• E trocando os 0 por 2?
Objetos String
• Exemplo 7
var fileName = window.location.href;

fileName = fileName.substr(fileName.lastIndexOf(“/”) + 1);
alert(fileName); // ??!
!

• Qual o resultado deste código?
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
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?
Objetos String
• Obter apenas um caracter 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
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 (Wrox)”
• Especial destaque para parte de “Expressões regulares” que são
fundamentais para pesquisas mais avançadas.
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
Objetos Date
• Declaração
• var theDate1 = new Date(); // objeto inicializado com a
data atual do computador onde está a correr o script!
• var d = new Date(milliseconds);!
• var theDate2 = new Date(949278000000);!
• var d = new Date(dateString);!
• var theDate3 = new Date(“31 January 2010”);!
• var d = new Date(year, month, day, hours, minutes,
seconds, milliseconds);!
• var theDate4 = new Date(2010,0,31,15,35,20,20);
Objetos Date
• Obter referência temporal atual
• getTime()!
• Parâmetros
• Nenhum

• Resultado:

• Retorna o número de milissegundos passados desde o início do dia 1 de
Janeiro de 1970.
Objetos Date
• Exemplo 9
var d = new Date();!
alert(d.getTime() + " ms desde 1970/01/01");
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);
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

Mais conteúdo relacionado

Semelhante a T15_T16_LM3: Mais objetos do Javascript (2013-2014)

(A06) LabMM3 - JavaScript
(A06) LabMM3 - JavaScript(A06) LabMM3 - JavaScript
(A06) LabMM3 - JavaScript
Carlos Santos
 
T04_LM3: Javascript (2013-2014)
T04_LM3: Javascript (2013-2014)T04_LM3: Javascript (2013-2014)
T04_LM3: Javascript (2013-2014)
Carlos Santos
 
Javascript para CSharpers 3 - Conceitos
Javascript para CSharpers 3 - ConceitosJavascript para CSharpers 3 - Conceitos
Javascript para CSharpers 3 - Conceitos
Wesley Lemos
 
LabMM3 - Aula teórica 05
LabMM3 - Aula teórica 05LabMM3 - Aula teórica 05
LabMM3 - Aula teórica 05
Carlos Santos
 
Php, eu escolho você! @ UFJF
Php, eu escolho você! @ UFJFPhp, eu escolho você! @ UFJF
Php, eu escolho você! @ UFJF
Claudson Oliveira
 
T12_LM3: Arrays (2013-2014)
T12_LM3: Arrays (2013-2014)T12_LM3: Arrays (2013-2014)
T12_LM3: Arrays (2013-2014)
Carlos Santos
 
Crawleando a web feito gente grande com o scrapy
Crawleando a web feito gente grande com o scrapyCrawleando a web feito gente grande com o scrapy
Crawleando a web feito gente grande com o scrapy
Bernardo Fontes
 
Javascript para CSharpers 4 - POO
Javascript para CSharpers 4 - POOJavascript para CSharpers 4 - POO
Javascript para CSharpers 4 - POO
Wesley Lemos
 
Curso java 01 - molhando os pés com java
Curso java   01 - molhando os pés com javaCurso java   01 - molhando os pés com java
Curso java 01 - molhando os pés com java
Maurício Linhares
 

Semelhante a T15_T16_LM3: Mais objetos do Javascript (2013-2014) (20)

Desvendando a linguagem JavaScript
Desvendando a linguagem JavaScriptDesvendando a linguagem JavaScript
Desvendando a linguagem JavaScript
 
(A06) LabMM3 - JavaScript
(A06) LabMM3 - JavaScript(A06) LabMM3 - JavaScript
(A06) LabMM3 - JavaScript
 
T04_LM3: Javascript (2013-2014)
T04_LM3: Javascript (2013-2014)T04_LM3: Javascript (2013-2014)
T04_LM3: Javascript (2013-2014)
 
Java Desktop
Java DesktopJava Desktop
Java Desktop
 
Python - Programando em alto nível
Python - Programando em alto nívelPython - Programando em alto nível
Python - Programando em alto nível
 
Javascript para CSharpers 3 - Conceitos
Javascript para CSharpers 3 - ConceitosJavascript para CSharpers 3 - Conceitos
Javascript para CSharpers 3 - Conceitos
 
LabMM3 - Aula teórica 05
LabMM3 - Aula teórica 05LabMM3 - Aula teórica 05
LabMM3 - Aula teórica 05
 
Workshop ExtJS4
Workshop ExtJS4Workshop ExtJS4
Workshop ExtJS4
 
WTF Javascript - FrontInRio 2011
WTF Javascript - FrontInRio 2011WTF Javascript - FrontInRio 2011
WTF Javascript - FrontInRio 2011
 
Melhorando seu App com Kotlin e Testes
Melhorando seu App com Kotlin e TestesMelhorando seu App com Kotlin e Testes
Melhorando seu App com Kotlin e Testes
 
Php Math and arrays
Php Math and arraysPhp Math and arrays
Php Math and arrays
 
Minicurso Javascript
Minicurso JavascriptMinicurso Javascript
Minicurso Javascript
 
Php, eu escolho você! @ UFJF
Php, eu escolho você! @ UFJFPhp, eu escolho você! @ UFJF
Php, eu escolho você! @ UFJF
 
T12_LM3: Arrays (2013-2014)
T12_LM3: Arrays (2013-2014)T12_LM3: Arrays (2013-2014)
T12_LM3: Arrays (2013-2014)
 
Crawleando a web feito gente grande com o scrapy
Crawleando a web feito gente grande com o scrapyCrawleando a web feito gente grande com o scrapy
Crawleando a web feito gente grande com o scrapy
 
Estudos Technocorp
Estudos TechnocorpEstudos Technocorp
Estudos Technocorp
 
Introdução à MEAN Stack
Introdução à MEAN StackIntrodução à MEAN Stack
Introdução à MEAN Stack
 
Javascript para CSharpers 4 - POO
Javascript para CSharpers 4 - POOJavascript para CSharpers 4 - POO
Javascript para CSharpers 4 - POO
 
Javascript para CSharpers - Append B - jQuery
Javascript para CSharpers - Append B - jQueryJavascript para CSharpers - Append B - jQuery
Javascript para CSharpers - Append B - jQuery
 
Curso java 01 - molhando os pés com java
Curso java   01 - molhando os pés com javaCurso java   01 - molhando os pés com java
Curso java 01 - molhando os pés com java
 

Mais de Carlos Santos

AVILA Crew – Uma experiência de tutoria de alunos para alunos
AVILA Crew – Uma experiência de tutoria de alunos para alunosAVILA Crew – Uma experiência de tutoria de alunos para alunos
AVILA Crew – Uma experiência de tutoria de alunos para alunos
Carlos Santos
 
SAPO Campus: Gamification em contexto educativo
SAPO Campus: Gamification em contexto educativoSAPO Campus: Gamification em contexto educativo
SAPO Campus: Gamification em contexto educativo
Carlos Santos
 
T20_LM3: APIs e Scoreoid
T20_LM3: APIs e ScoreoidT20_LM3: APIs e Scoreoid
T20_LM3: APIs e Scoreoid
Carlos Santos
 
T19_LM3: Projeto final e documentação de planificação
T19_LM3: Projeto final e documentação de planificaçãoT19_LM3: Projeto final e documentação de planificação
T19_LM3: Projeto final e documentação de planificação
Carlos Santos
 
T14_LM3: Animação (2013-2014)
T14_LM3: Animação (2013-2014)T14_LM3: Animação (2013-2014)
T14_LM3: Animação (2013-2014)
Carlos Santos
 

Mais de Carlos Santos (20)

Is AI the Spice of our future?
Is AI the Spice of our future?Is AI the Spice of our future?
Is AI the Spice of our future?
 
Mentoria entre pares de estudantes para estudantes
Mentoria entre pares de estudantes para estudantesMentoria entre pares de estudantes para estudantes
Mentoria entre pares de estudantes para estudantes
 
1º Encontro Científico TCEdu
1º Encontro Científico TCEdu1º Encontro Científico TCEdu
1º Encontro Científico TCEdu
 
Tecnologias da Comunicação em Educação 2018: Aula inicial
Tecnologias da Comunicação em Educação 2018: Aula inicialTecnologias da Comunicação em Educação 2018: Aula inicial
Tecnologias da Comunicação em Educação 2018: Aula inicial
 
AVILA Crew - Uma experiência de tutoria (com jogos) de alunos para alunos
AVILA Crew - Uma experiência de tutoria (com jogos) de alunos para alunosAVILA Crew - Uma experiência de tutoria (com jogos) de alunos para alunos
AVILA Crew - Uma experiência de tutoria (com jogos) de alunos para alunos
 
AVILA Crew – Uma experiência de tutoria de alunos para alunos
AVILA Crew – Uma experiência de tutoria de alunos para alunosAVILA Crew – Uma experiência de tutoria de alunos para alunos
AVILA Crew – Uma experiência de tutoria de alunos para alunos
 
chmod 777 education
chmod 777 educationchmod 777 education
chmod 777 education
 
Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...
Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...
Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...
 
Tecnologias da Comunicação em Educação: trabalho prático
Tecnologias da Comunicação em Educação: trabalho práticoTecnologias da Comunicação em Educação: trabalho prático
Tecnologias da Comunicação em Educação: trabalho prático
 
Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)
Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)
Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)
 
chmod 777 education
chmod 777 educationchmod 777 education
chmod 777 education
 
SAPO Campus towards a
 Smart Learning Environment
SAPO Campus towards a
 Smart Learning EnvironmentSAPO Campus towards a
 Smart Learning Environment
SAPO Campus towards a
 Smart Learning Environment
 
Repensar a tecnologia em contexto educativo: o caso do SAPO Campus
Repensar a tecnologia em contexto educativo: o caso do SAPO CampusRepensar a tecnologia em contexto educativo: o caso do SAPO Campus
Repensar a tecnologia em contexto educativo: o caso do SAPO Campus
 
A technological approach to Open and Social Learning: 
the SAPO Campus project
A technological approach to Open and Social Learning: 
the SAPO Campus projectA technological approach to Open and Social Learning: 
the SAPO Campus project
A technological approach to Open and Social Learning: 
the SAPO Campus project
 
SAPO Campus: Gamification em contexto educativo
SAPO Campus: Gamification em contexto educativoSAPO Campus: Gamification em contexto educativo
SAPO Campus: Gamification em contexto educativo
 
Repensar a tecnologia em contextos educativos: o SAPO Campus no DeCA
Repensar a tecnologia em contextos educativos: o SAPO Campus no DeCARepensar a tecnologia em contextos educativos: o SAPO Campus no DeCA
Repensar a tecnologia em contextos educativos: o SAPO Campus no DeCA
 
T20_LM3: APIs e Scoreoid
T20_LM3: APIs e ScoreoidT20_LM3: APIs e Scoreoid
T20_LM3: APIs e Scoreoid
 
T19_LM3: Projeto final e documentação de planificação
T19_LM3: Projeto final e documentação de planificaçãoT19_LM3: Projeto final e documentação de planificação
T19_LM3: Projeto final e documentação de planificação
 
T18_LM3: Ajax
T18_LM3: AjaxT18_LM3: Ajax
T18_LM3: Ajax
 
T14_LM3: Animação (2013-2014)
T14_LM3: Animação (2013-2014)T14_LM3: Animação (2013-2014)
T14_LM3: Animação (2013-2014)
 

Último

19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf
marlene54545
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
PatriciaCaetano18
 
QUIZ ensino fundamental 8º ano revisão geral
QUIZ ensino fundamental 8º ano revisão geralQUIZ ensino fundamental 8º ano revisão geral
QUIZ ensino fundamental 8º ano revisão geral
AntonioVieira539017
 
Slide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticaSlide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemática
sh5kpmr7w7
 

Último (20)

19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf
 
Pesquisa Ação René Barbier Livro acadêmico
Pesquisa Ação René Barbier Livro  acadêmicoPesquisa Ação René Barbier Livro  acadêmico
Pesquisa Ação René Barbier Livro acadêmico
 
Cartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxCartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptx
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
 
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
 
LENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretaçãoLENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretação
 
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.docGUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
 
Sistema de Bibliotecas UCS - Cantos do fim do século
Sistema de Bibliotecas UCS  - Cantos do fim do séculoSistema de Bibliotecas UCS  - Cantos do fim do século
Sistema de Bibliotecas UCS - Cantos do fim do século
 
M0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxM0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptx
 
Poesiamodernismo fase dois. 1930 prosa e poesiapptx
Poesiamodernismo fase dois. 1930 prosa e poesiapptxPoesiamodernismo fase dois. 1930 prosa e poesiapptx
Poesiamodernismo fase dois. 1930 prosa e poesiapptx
 
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
 
3 2 - termos-integrantes-da-oracao-.pptx
3 2 - termos-integrantes-da-oracao-.pptx3 2 - termos-integrantes-da-oracao-.pptx
3 2 - termos-integrantes-da-oracao-.pptx
 
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxSlides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
 
Cópia de AULA 2- ENSINO FUNDAMENTAL ANOS INICIAIS - LÍNGUA PORTUGUESA.pptx
Cópia de AULA 2- ENSINO FUNDAMENTAL ANOS INICIAIS - LÍNGUA PORTUGUESA.pptxCópia de AULA 2- ENSINO FUNDAMENTAL ANOS INICIAIS - LÍNGUA PORTUGUESA.pptx
Cópia de AULA 2- ENSINO FUNDAMENTAL ANOS INICIAIS - LÍNGUA PORTUGUESA.pptx
 
Aula 1 - Psicologia Cognitiva, aula .ppt
Aula 1 - Psicologia Cognitiva, aula .pptAula 1 - Psicologia Cognitiva, aula .ppt
Aula 1 - Psicologia Cognitiva, aula .ppt
 
QUIZ ensino fundamental 8º ano revisão geral
QUIZ ensino fundamental 8º ano revisão geralQUIZ ensino fundamental 8º ano revisão geral
QUIZ ensino fundamental 8º ano revisão geral
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
 
Slide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticaSlide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemática
 
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
 
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptxPlano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
 

T15_T16_LM3: Mais objetos do Javascript (2013-2014)

  • 1. JavaScript: mais objetos - String, Date e Math Carlos Santos LabMM 3 - NTC - DeCA - UA Aula 15 e 16, 06-11-2013 e 8-11-2013
  • 2. Objetos nativos do JavaScript • Array • estudado numa das aula anteriores... • outros objetos do JavaScript • cada tipo de dados primitivo tem um objeto equivalente • string • number • boolean • Math, Date,...
  • 3. 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 também 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, porque... • dessa forma é possível comparar o conteúdo e não os objetos!
  • 4. Objetos String • O que é uma string? ! Índice 0 1 2 3 4 ! Caracter H e l l o 5 6 7 8 9 10 W o r l d ! • Propriedade length • string1.length; // resultado será 11
  • 5. Objetos String • Pesquisar uma string dentro de outra string • indexOf()! • lastIndexOf()! • Parâmetros • A substring a pesquisar; • A posição/índice a partir da qual se quer iniciar a pesquisa (opcional). • Resultado • A posição onde a substring foi encontrada (começa em 0); • -1 se não for encontrada.
  • 6. 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
  • 7. Objetos String • Exemplo 2 var myString = “Hello Jeremy. How are you Jeremy”;! var foundAtPosition;! foundAtPosition = myString.lastIndexOf(“Jeremy”);! alert(foundAtPosition); // ??
  • 8. 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”?
  • 9. 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)
  • 10. 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
  • 11. 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 • E trocando os 0 por 2?
  • 12. Objetos String • Exemplo 7 var fileName = window.location.href;
 fileName = fileName.substr(fileName.lastIndexOf(“/”) + 1); alert(fileName); // ??! ! • Qual o resultado deste código?
  • 13. 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
  • 14. 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?
  • 15. Objetos String • Obter apenas um caracter 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
  • 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 (Wrox)” • Especial destaque para parte de “Expressões regulares” que são fundamentais para pesquisas mais avançadas.
  • 17. 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
  • 18. Objetos Date • Declaração • var theDate1 = new Date(); // objeto inicializado com a data atual do computador onde está a correr o script! • var d = new Date(milliseconds);! • var theDate2 = new Date(949278000000);! • var d = new Date(dateString);! • var theDate3 = new Date(“31 January 2010”);! • var d = new Date(year, month, day, hours, minutes, seconds, milliseconds);! • var theDate4 = new Date(2010,0,31,15,35,20,20);
  • 19. Objetos Date • Obter referência temporal atual • getTime()! • Parâmetros • Nenhum • Resultado: • Retorna o número de milissegundos passados desde o início do dia 1 de Janeiro de 1970.
  • 20. Objetos Date • Exemplo 9 var d = new Date();! alert(d.getTime() + " ms desde 1970/01/01");
  • 21. 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);
  • 22. 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