Académique Documents
Professionnel Documents
Culture Documents
JAVASCRIPT
Linguagem JavaScript
Este material apenas um resumo para acompanhamento dinmico das aulas ministradas, no dispensando, portanto, as orientaes do professor.
1.3 - Objetos
Quando um documento carregado no navegador, ele cria vrios objetos JavaScript com propriedades e valores especficos. Cada Objeto armazena vrias informaes que podem ser acessadas, ou alteradas, pelo programador. Abaixo temos alguns dos principais Objetos de uma janela exibida em um Site: Navigator: Possui propriedades para o nome e a verso do navegador que est em uso. Window: Possui propriedades que se aplicam janela como um todo. o objeto de maior nvel hierrquico. Document: Possui informaes sobre a pgina HTML como um todo. Form: Possui informaes sobre os formulrios da pgina atual. History: Possui uma lista de todos os sites visitados na sesso de uso atual do browser. Location: Possui informaes sobre o local da pgina, como o protocolo utilizado e seu domnio.
uma linguagem que se aloja dentro de um programa HTML, ou seja, o JavaScript um programa includo em uma pgina HTML. No criamos programas totalmente em JavaScript, devemos escrever o programa na linguagem HTML e inserir comandos JavaScript nele. Pelo fato de ser colocado dentro do TAG <SCRIPT> o texto do script no aparece na tela do usurio. O TAG <SCRIPT> normalmente encontrado dentro da seo <HEAD> da pgina HTML, embora possa tambm estar na seo <BODY>. O JavaScript uma linguagem interpretada, baseada em objetos, o que significa que podemos utilizar objetos predefinidos ou criar novos objetos. Desta forma, a linguagem JavaScript permite a criao de pginas HTML dinmicas. O JavaScript sensvel a diferena entre maisculas e minsculas, isso significa que myName diferente de MyName, que diferente de myname ou de Myname. Toda a programao dever ser digitada em minsculas, mas isso no uma regra, voc ir reparar que h comandos que possuem apenas uma letra em maiscula, como por exemplo o evento onClick.
1.4 - Propriedades
Um Objeto possui caractersticas prprias dentro de um grupo, algumas so comuns a muito Objetos, outras so especficas de cada um. Essas caractersticas chamamos de Propriedades, e podem ser vistas como Variveis que armazenam informaes sobre um determinado Objeto. Portanto, as Propriedades podem mudar os Objetos. Sua sintaxe muito simples:
objeto.propriedade = valor
Exemplo 1: Contm a cor do fundo do objeto: document.bgColor Exemplo 2: Contm o ttulo do objeto: document.title
1.5 - Mtodos
Um Objeto possui rotinas especiais, predefinidas, que realizam operaes relacionadas ao prprio Objeto. So as Aes possveis de serem realizadas pelos Objetos. Essas aes chamamos de Mtodos, e so normalmente utilizados para alterar valores de propriedades ou executar tarefas especficas. Os Mtodos esto relacionados aos Objetos e j fazem parte da linguagem JavaScript. Sua sintaxe tambm bem simples. Os parnteses indicam que estamos fazendo referncia a Mtodos e no a Propriedades:
objeto.mtodo(argumento)
Pgina 1
Exemplo 3: O objeto document possui um mtodo chamado write, cuja finalidade inserir comandos HTML durante a execuo do programa em JavaScript: document.write(<h1>Teste de JavaScript</h1>) Exemplo 4: O objeto window possui um mtodo chamado alert, cuja finalidade exibir uma mensagem de aviso em uma caixa de dilogo: window.alert(Operao Invlida !)
1.7 - Funes
So rotinas independentes que executam uma tarefa especfica. Elas se diferenciam dos Mtodos pois no so associadas a um Objeto e podem ser geradas pelo programador. Existem Funes genricas em JavaScript mas o programador pode criar suas prprias Funes. Toda Funo deve receber um nome e pode ser acessada por outras partes do script tantas vezes quantas forem necessrias, alis essa a grande vantagem da utilizao das Funes, pois escrevemos o script apenas uma vez e o acessamos sempre que necessrio. a) Para Criar Uma Nova Funo: digitamos o comando function seguido pelo nome escolhido. Sempre existem parnteses aps o nome da funo, seguidos por uma chave de abertura. As instrues que formam a funo ficam nas linhas seguintes, e ento a funo fechada por outra chave. Exemplo: function cheguei( ) { alert(Querida, cheguei !!!) } b) Para Acessar Uma Funo: em geral utilizamos um tratador de eventos para acessar uma funo existente. Exemplo: Criamos um Boto com o rtulo Clique Aqui (isso aprendemos em HTML). Quando o usurio clicar neste boto a funo cheguei() ser acessada, e aparecer na tela a mensagem Querida, cheguei !!!: <input type=button value=Clique Aqui onClick=cheguei( )> Aqui temos apenas uma introduo sobre Funes. Na Parte 5 falaremos muito mais sobre este assunto.
1.6 - Eventos
So Aes que ocorrem na pgina web devido interao ocorrida com o usurio, ou seja, so as Aes que o usurio executa quando visita uma pgina. Por exemplo, enviar um formulrio ou mover o ponteiro do mouse sobre um Objeto. Uma linguagem baseada em Objetos possibilita reagir a uma Ao do usurio, executando os Tratadores de Eventos. Os Eventos so os principais recursos da linguagem JavaScript para a validao de campos e alterao dinmica da pgina web. A seguir temos a tabela com alguns Tratadores de Eventos: TRATADORES DE EVENTOS O usurio encerrou carregamento da pgina. O usurio deixou o objeto. O usurio alterou o contedo do objeto. O usurio clicou sobre o objeto. O script encontrou um erro na pgina. O usurio tornou um objeto ativo. O objeto concluiu o carregamento. O cursor se deslocou sobre o objeto. O cursor se deslocou para fora do objeto. O usurio selecionou o contedo do objeto. O usurio enviou um formulrio. O usurio saiu da pgina.
Ao escrever um script, no preciso prever todos os eventos possveis, apenas aqueles que voc deseja que algo especial ocorra. Sua sintaxe tambm bem simples. Os parnteses indicam que estamos fazendo referncia a Eventos e no a Propriedades:
objeto.evento(argumento)
Exemplo 5: O objeto buttom reage ao evento onClick, que ocorre quando o usurio d um clique com o ponteiro do mouse sobre o objeto. Neste exemplo aparecer uma caixa de dilogo: onClick( alert( Testando evento ! ) )
Pgina 2
4 - Expresses e Operadores
Uma Expresso uma combinao de Variveis, Literais, Mtodos, Funes e Operadores que retornam um resultado qualquer. Ela usada para atribuir um valor a uma Varivel ou para ser testada, e atribuir uma ao. Existem diversos tipos de Operadores que podem ser usados em Expresses.
3 - Literais
Representao de nmeros ou strings. So informaes fixas que, ao contrrio das variveis, no podem ser alteradas. So criadas durante a execuo do programa. Os literais podem ser de vrios tipos: Inteiros (integer): Nmeros positivos, negativos ou fracionrios: A=300 b=0.25 c=-32 Ponto Flutuante (floating point): Conhecido tambm como notao cientfica: 2.34e4 (2.34 x 10000) Booleanos: Os literais booleanos podem ser: True ou False String: Textos envolvidos por aspas ou apstrofos: Joo da Silva Jos Amado 200 Caracteres especiais: Dentro de Strings, podem ser especificados caracteres especiais como: \n insere um quebra de linha \t insere uma caracter de tabulao \r insere um retorno de carro \a insere um beep \f insere um avano de pgina ou formulrio \b backspace (caracter em branco) \ apstrofo, ou aspas simples \ aspas \\ barra invertida
Colgio Singular - Resumo das Aulas de JavaScript - Prof. Celso Gallo
Pgina 3
!X
(No)
<!---> // /* */
Inicia comentrios em HTML. Encerra comentrios em HTML . Comentrios de 1 linha em JavaScript. Inicia comentrios de vrias linhas em JavaScript. Encerra comentrios de vrias linhas em JavaScript.
Desta forma, assim fica nosso Exemplo01.htm: <HTML> <HEAD> <TITLE>Exemplo de JavaScript</TITLE> </HEAD> <BODY> <SCRIPT LANGUAGE=JAVASCRIPT> <!-document.write(Funciona!!!) //--> </SCRIPT> </BODY> </HTML>
Pgina 4
6 - Caixas de Dilogo
As Caixas de Dilogo so muito utilizadas em JavaScript, pois permitem exibir mensagens e solicitar decises aos usurios.
No Exemplo03, uma verificao est sendo feita dentro do script. Uma Caixa de Confirmao com a mensagem Quer mesmo sair ? exibida na tela. Caso o usurio clique no boto [OK] (TRUE) ser executado o Mtodo close() que se encarregar de fechar a janela atual. Caso o usurio clique em [CANCELAR] (FALSE) ser executado o Mtodo write(), que pertence ao objeto document e mostrar a mensagem Seja bem-vindo !.
6.3 Prompt
Vejamos o Exemplo03_1.htm: <html> <head> <script language="JavaScript" type="text/JavaScript"> <!-var nome = prompt("Digite seu nome",""); if(confirm("Quer ver seu nome?")){ alert("Seu nome : "+ nome); } --> </script> <noscript> ERRO: Seu Navegador no suporta JavaScript. </noscript> </head> <body> </body> </html> Vejamos o Exemplo03_2.htm: <html> <head> <script language="JavaScript" type="text/JavaScript"> <!-var idade = prompt("Digite sua idade",""); // verifica se o valor digitado numrico if(isNaN(idade)){ alert("Valor invlido!"); } else{ if(idade>=18){ alert("Ok, acesse o site."); } else{ alert("Voc no pode acessar esse site!"); } } --> </script> <noscript> ERRO: Seu Navegador no suporta JavaScript. </noscript> </head> <body> </body> </html>
7 - Redirecionando o Usurio
possvel verificar qual a verso do JavaScript o usurio possui instalado em seu navegador. Desta forma, podemos redirecionar o usurio para outras pginas, de acordo com a verso utilizada.
Colgio Singular - Resumo das Aulas de JavaScript - Prof. Celso Gallo Pgina 5
Este o Exemplo05b.htm: <HTML> <HEAD> <title>Exemplo 05-B</title> </HEAD> <BODY BGCOLOR="red" TEXT=yellow> <h1><center> Exemplo 05-B - Redirecionamento<p></h1> O seu navegador <b><u>ACEITA</u></b> o JavaScript.</center> </BODY> </HTML>
Editar o EXERCCIO 01 do Caderno de Exerccios Editar o EXERCCIO 02 do Caderno de Exerccios Editar o EXERCCIO 03 do Caderno de Exerccios Editar o EXERCCIO 04 do Caderno de Exerccios Editar o EXERCCIO 05 do Caderno de Exerccios Editar o EXERCCIO 06 do Caderno de Exerccios Editar o EXERCCIO 07 do Caderno de Exerccios
Pgina 6
9 - Loops
Vamos conhecer a estrutura de repetio, ou seja, um loop, utilizando o comando for(). Esse tipo de loop emprega um contador (uma varivel), que comea com um valor e termina quando um teste condicional for satisfeito. O comando for() inicia a estrutura, Dentro dos parnteses est a definio do contador. Um ponto-e-vrgula indica que existe outra instruo na mesma linha. Em seguida deve haver a condio, que dever ser satisfeita para o loop ser executado. Para encerrar, indicamos o incremento da varivel. Veja a sintaxe:
Pgina 7
do{
bloco de comandos } while(condio); Vejamos o Exemplo07_3.htm: <HTML> <HEAD> <TITLE>Exemplo de Loop</TITLE> </HEAD>
<H1>Exemplo 08 - Funo</H1><P>
<FORM> <INPUT TYPE=button NAME=bt01 VALUE=Clique Aqui onClick=ola( )> </FORM> </BODY> </HTML>
Em alguns casos, h parmetros declarados dentro dos parnteses, e exatamente isso que vamos conhecer agora. Freqentemente, desejaremos obter algumas informaes e fornec-las a uma funo para ser processada. Isso se chama passar informaes para funes. Vamos editar o Exemplo08 de tal forma que possamos alterar as mensagens a serem exibidas, e teremos ento o Exemplo09.htm:
<HTML> <HEAD> <TITLE>Exemplo 09 - Funo</TITLE> <SCRIPT LANGUAGE="JAVASCRIPT"> <!-function ola(mensagem) { alert(mensagem) } //--> </SCRIPT> </HEAD> <BODY>
<H1>Exemplo 09 - Funo</H1><P>
<FORM> <INPUT TYPE=button NAME=bt01 VALUE=Mensagem 01 onClick=ola(Funciona! )> <INPUT TYPE=button NAME=bt02 VALUE=Mensagem 02 onClick=ola(E a galra! )> <INPUT TYPE=button NAME=bt03 VALUE=Mensagem 03 onClick=ola(T na rea! )> </FORM> </BODY> </HTML>
Colgio Singular - Resumo das Aulas de JavaScript - Prof. Celso Gallo Pgina 8
11.1 - onAbort
Aplicao: Imagens. Ocorrncia: Qdo. o usurio interrompe o carregamento de uma imagem pressionando um boto para parar.
11.2 - onBlur
Aplicao: Janelas e todos os elementos de formulrio. Ocorrncia: Qdo. retirado o foco do objeto.
11.3 - onChange
Aplicao: Campos de texto, reas de texto e campos de seleo. Ocorrncia: Qdo. alterado o valor do objeto, e o objeto perde o foco.
11.4 - onClick
Aplicao: Botes simples, caixa de seleo, botes enviar e limpar, links. Ocorrncia: Qdo. o usurio da um clique sobre o objeto.
Exemplo: <INPUT TYPE="button" NAME="bt01" VALUE="Calcular o Cubo de 5" onClick="alert('O cubo de 5 ' + cubo(5))">
11.5 - onDblClick
Aplicao: Botes simples, caixa de seleo, botes enviar e limpar, links. Ocorrncia: Qdo. o usurio da duplo clique sobre o objeto.
11.6 - onDragDrop
Aplicao: Janelas. Ocorrncia: Qdo. o usurio deposita um objeto na janela.
11.7 - onError
Aplicao: Imagens e janelas. Ocorrncia: Qdo. o carregamento de uma imagem ou janela causa um erro.
Pgina 9
11.8 - onFocus
Aplicao: Janelas e elementos de formulrio. Ocorrncia: Qdo. o usurio ativa um campo de formulrio ou uma janela.
11.17 - onMouseUp
Aplicao: Documentos, botes e links. Ocorrncia: Qdo. o boto do mouse liberado.
11.9 - onKeyDown
Aplicao: Imagens, documentos, links e campos de texto. Ocorrncia: Qdo. o usurio pressiona uma tecla, sempre antes de ocorrer o evento onKeyPress.
11.18 - onMove
Aplicao: Janelas. Ocorrncia: Qdo. a janela movida.
11.19 - onReset
Aplicao: Formulrios. Ocorrncia: Qdo. o usurio clica no boto para limpar dados em um formulrio.
11.10 - onKeyPress
Aplicao: Imagens, documentos, links e campos de texto. Ocorrncia: Qdo. o usurio mantm uma tecla pressionada.
11.11 - onKeyUp
Aplicao: Imagens, documentos, links e campos de texto. Ocorrncia: Qdo. o usurio libera uma tecla.
11.20 - onResize
Aplicao: Janelas. Ocorrncia: Qdo. uma janela redimensionada.
11.12 - onLoad
Aplicao: Corpo do documento. Ocorrncia: Qdo. uma pgina carregada no browser.
11.21 - onSelect
Aplicao: Campos e reas de texto. Ocorrncia: Qdo. um campo de formulrio selecionado.
11.13 - onMouseDown
Aplicao: Documentos, botes e links. Ocorrncia: Qdo. o boto do mouse pressionado.
11.22 - onSubmit
Aplicao: Formulrios. Ocorrncia: Qdo. o usurio clica no boto para enviar dados em um formulrio.
11.14 - onMouseMove
Aplicao: Tudo. Ocorrncia: Qdo. o cursor do mouse movido pela tela.
11.23 - onUnload
Aplicao: Corpo do documento. Ocorrncia: Qdo. a pgina abandonada (fechada).
11.15 - onMouseOut
Aplicao: reas e links. Ocorrncia: Qdo. o cursor do mouse movido para fora de um mapa de imagem ou link.
Exemplo: <IMG SRC="foto01.jpg" onMouseOut= "alert('Voc moveu o mouse para fora da figura.')">
11.16 - onMouseOver
Aplicao: Links. Ocorrncia: Qdo. o cursor do mouse posicionado sobre um link.
Pgina 10
Como voc pode ver, no arquivo externo basta digitar os comandos JavaScript, sem adicionar os TAGs do HTML. Voc pode utilizar arquivos externos para ocultar o cdigofonte dos usurios, mas isso no garantia de segurana, pois um usurio experiente localiza o contedo de um arquivo externo no cache do navegador.
Pgina 11
Se nenhum parmetro for mencionado a nova janela ser exibida de acordo com a ltima janela aberta. Se algum parmetro for mencionado, somente ele ser considerado ativo. Para ativar um parmetro basta digitar seu nome, ou especificar seu valor como TRUE ou FALSE, ou ainda como 1 ou 0. Cada parmetro deve vir separado por vrgulas. Exemplo 13-A: window.open(JS01.htm , FrA , scrollbars=yes, resizeble) Neste exemplo, ser aberta uma janela no Frame chamado FrA com barra de rolagens, permitindo o redirecionamento da janela e carregando o documento JS01.htm nela. Caso o Frame FrA no exista, uma nova janela ser aberta. Uma varivel pode ser atribuda nova janela, na frente do mtodo open, para se utilizar como referncia de seus parmetros em outro ponto do programa, desde que a janela ainda esteja aberta. Exemplo 13-B: v1=window.open(JS01.htm,FrA,scrollbars=yes, resizeble) Neste exemplo, foi atribuda uma varivel chamada v1 para que esta janela possa ser referenciada em um outro ponto do programa. Mtodo close() Fecha uma janela. Um Frame no pode ser fechado diretamente sem que a janela principal, chamada janelame, tambm o seja. Exemplo 14-A: window.close() self.close() close() ou ou
b)
Propriedades do Objeto Window: Propriedade frames[index] uma matriz de janelas-filha, indexadas pela ordem de criao, a partir do zero. Exemplo: Imagine a seguinte estrutura de Frames: FrPrincipal | |----- FrAlto |----- FrEsquerda |----- FrDireita | |----- FrD1 |----- FrD2 FrPrincipal referenciado como top FrAlto referenciado como top.frames[0] FrEsquerda referenciado como top.frames[1] FrDireita referenciado como top.frames[2] FrD1 ser como top.frames[2].frames[0] ou como FrDireita.frames[0] FrD2 ser como top.frames[2].frames[1] ou como FrDireita.frames[1] Propriedade frames.length Indica a quantidade de janelas-filha definidas. Propriedade self Indica a janela atual. (o mesmo que window). Propriedade parent Indica a janela-me, ou imediatamente superior. Propriedade top Indica a janela mais antiga, ou principal.
Esses trs exemplos fecham a janela atual. Para fechar uma outra janela, preciso que esta outra janela tenha sido aberta tendo uma varivel como referncia. Desta forma, devemos utilizar o mtodo close() informando o nome da varivel como objeto. Exemplo 14-B: v1.close() Esse exemplo fecha uma janela que tenha a varivel v1 como referncia.
Pgina 12
Pgina 13
Mtodos
Mtodo javaEnabled() Verifica se a linguagem Java est habilitada para ser executada na pgina. Exemplo: if (navigator.javaEnabled() == 0) { document.write=JAVA no habilitado } else { document.write=JAVA habilitado } b) Propriedades do Objeto Navigator:
Mtodo Math.sqrt(n) Retorna o valor da raiz quadrada de n. Exemplo: Math.sqrt(var) Mtodo Math.max(x,y), Math.min(x,y) Retornam respectivamente, o maior ou o menor, entre 2 nmeros conhecidos. Exemplos: Math.maior(var1,var2) Math.menor(var1,var2) Mtodo Math.pow(base,expoente) Retorna o clculo do exponencial. Exemplo: Math.pow(n,3) Mtodo Math.round(n) Retorna o valor inteiro arredondado. Exemplo: Math.round(var) Mtodo Math.log(n) Retorna o valor do logaritmo neperiano (ln) de n. Exemplo: Math.log(var) Mtodo Math.ceil(n) Retorna o menor valor inteiro maior que n. Exemplo: Math.ceil(var) Mtodo Math.floor(n) Retorna o maior valor inteiro menor que n. Exemplo: Math.floor(var) b) Propriedades do Objeto Math: propriedade Math.PI (pi). Retorna o valor de Exemplo: Math.PI
Propriedade appName Especifica o NOME do navegador utilizado pelo usurio. Propriedade appVersion Especifica a VERSO do navegador utilizado pelo usurio. Propriedade platform Especifica a PLATAFORMA, ou seja, o sistema operacional utilizado pelo usurio.
Editar o EXERCCIO 20 do Caderno de Exerccios Editar o EXERCCIO 21 do Caderno de Exerccios Editar o EXERCCIO 22 do Caderno de Exerccios
Contm propriedades e mtodos para manipulao numrica. Ele inclui mtodos que simulam funes trigonomtricas, exponenciais, logartmicas, etc. Abaixo, alguns desses mtodos, onde n, x, y e var podem ser nmeros, variveis ou contedos de objetos (.value): a) Mtodos do Objeto Math: Math.abs(n) Retorna o valor absoluto do nmero (ponto flutuante) Exemplo: Math.abs(var) Mtodos
propriedade Math.E Retorna o valor de e. Exemplo: Math.E c) Funo eval() Esta uma funo do prprio Javascript e no est relacionada a nenhum objeto. utilizada para converter strings em valores numricos, portanto bastante apropriada para o objeto Math. Exemplo: x = eval(document.campo1.value) O valor string contido no campo1 ser convertido em valor numrico e armazenado na varivel x.