Professional Documents
Culture Documents
o Introdução
o Noções elementares sobre programação por objectos
o Scripts e HTML
o Prevenção com a compatibilidade com os browsers – mensagens de erro
o Variáveis e tipos de dados
o Operações com dados
o Estruturas de controlo
o Tratamento de excepções
o Arrays
o Funções
o Programação Orientada a Objectos em Javascript
o O HTML Document Object Model (DOM) e a Javascript
o Alguns Scripts
o Bibliografia
Escola Secundária S. João do Estoril
Introdução
♦ Client
Client-- side e server
server-- side scripting
Quando se utiliza a designação Client-side scripting, fala-se de códigos de programas
que são processados do lado do cliente. Em aplicações ligadas à internet, estes são
processados pelo browser que estiver instalado no computador-cliente, quando receber
a página web que solicitou. (ver figura)
Escola Secundária S. João do Estoril
♦ A linguagem JavaScript
O código escrito em JavaScript destina-se a ser executado pelo web browser quando
a página HTML que o contém é visualizada. Ele é uma parte integrante da página e
permite que o browser seja capaz de tomar decisões quanto ao modo como o conteúdo
é apresentado ao utilizador e como pode ser manipulado.
♦ O conceito
Na programação por objectos temos linguagens orientadas a objectos como o Java e
linguagens baseadas em objectos como o JavaScript.
Um software orientado a objectos é uma forma de criar software que usa classes e
objectos para modelar as características dos objectos reais ou abstractos, utilizando
mecanismos de encapsulamento, herança e polimorfismo.
Um software baseado em objectos não utiliza os mecanismos de criação de classes e
de herança utilizados no software orientado a objectos.
♦ TTerminologia
erminologia
Numa linguagem de programação orientada a objectos os dois conceitos-chave da
programação são as classes e os objectos.
Classe
Cada objecto é definido pelas suas características (atributos) e pelas suas acções
(comportamento). Assim, um veículo motorizado pode ser caracterizado pelo tipo de
motor – diesel ou gasolina – pela potência do motor e pela sua cor enquanto que
podemos definir acções como acelerar, travar e parar. Consequentemente, podemos
referir ao estado do objecto – veículo automóvel – como estando a acelerar ou parado
ou a desacelerar.
A produção de cada objecto é realizada a partir de uma matriz à semelhança da
reprodução de uma publicação, seja livro ou jornal, em que os diversos exemplares
são reproduzidos a partir do fotolito nas máquinas da tipografia. Essa matriz, no modelo
orientado a objectos, é a classe. Sendo uma matriz, a classe é constituída pelas
características do objecto a que passamos a designar por atributos ou variáveis de
objecto – variáveis ou dados no modelo modular – e pelas acções que são designadas
por métodos – funções e procedimentos no modelo modular –.
Escola Secundária S. João do Estoril
Objecto
Os objectos são criados à imagem e semelhança das classes. São concretizações das
classes. São – em linguagem no modelo orientado a objectos – instâncias das classes.
Os métodos (funções e procedimentos) são sempre aplicados a um objecto. Por
exemplo, sendo dias um objecto de inteiros. No modelo Orientado a Objectos, poder-
se-ía escrever a seguinte instrução:
dias.setInteger(25);
supondo-se que a classe inteiros teria um método setInteger para alterar o valor do
objecto dias. Usando o exemplo dos automóveis podíamos ter:
táxi.acelerar()
para aumentar a velocidade do táxi.
No conceito do modelo orientado a objectos quando se aplicam métodos aos objectos,
diz-se que estamos a enviar mensagens aos objectos. Por exemplo, para definir o ano
do objecto umaData, definido por uma classe Data, que tem um método setYear, diz-
se que foi enviado ao objecto umaData a mensagem para que este use o método
setYear para definir o seu atributo ano com o valor do argumento da mensagem.
Mensagens
As mensagens são invocações dos métodos, sendo estes a interface de comunicação
entre os objectos.
A figura exemplifica a comunicação entre dois objectos das classes professor e aluno
e quadro identifica as classes, os objectos, os métodos e as mensagens presentes na
comunicação.
sim
Herança
As classes podem ser relacionadas entre si por sistemas de herança. Este conceito
leva a uma descendência que vai na direcção do refinamento e consequente
particularização. Parte-se da generalização do modelo no sentido do particular. Usando
a classe automóvel posso construir outras viaturas, um veículo pesado com seis rodas
ou um desportivo.
Escola Secundária S. João do Estoril
Polimorfismo
Designa-se polimorfismo à variação de formatos que um objecto pode apresentar.
Neste caso vamos debruçar nos métodos, pois nas linguagens em análise esta
característica restringe-se aos métodos.
Enquanto que na programação procedimental não é possível criar procedimentos ou
funções diversas com o mesmo nome, tal é possível no modelo orientado a objectos.
As chamadas linguagens no modelo orientado a objectos puras, esta característica é
encontrada, também, nas variáveis. Como exemplo, poderia criar novos métodos travar
e acelerar na classe desportivo salientando que o carro desportivo acelera e trava
como qualquer automóvel, mas de modo diferente. Apesar de os métodos terem o
mesmo nome e objectivo, eles funcionam, internamente, de modo diferente dos da
classe automóvel.
Escola Secundária S. João do Estoril
Scripts e HTML
♦ Aspectos relacionados com a inserção de scripts
Para inserir código JavaScript dentro do HTML é necessário identificar o início e o fim
do código. Para tal, utiliza-se a tag <script>para indicar o início e </script> para
indicar o fim do script.
Utiliza-se o atributo type para definir a linguagem ou o tipo de texto que vai ser
usada na escrita do script:
<script type="text/javascript">
<script language=”JavaScript”>
O JavaScript não nos obriga a terminar as instruções com ponto e vírgula, visto que é
opcional.
O Javascript reconhece que uma instrução chegou ao fim quando se muda de linha,
não necessitando portanto do ponto e vírgula. No entanto isso torna mais difícil a
localização dos erros e pode também contribuir para a criação de mais erros.
É conveniente que se terminem todas as instruções com o carácter ; .
Um comentário que se estende por várias linhas começa com a sequência de caracteres
/* e continua até ser econtrada a sequência de caracteres */, que marcam o fim do
comentário. Ao encontrar a sequência /* o interpretador de JavaScript procura
imediatamente a sequência de fecho */, continuando aí a interpretação do código e
ignorando o que está no meio.
Aqui ficam alguns exemplos de comentários em JavaScript.
// Isto é um comentário com uma única linha
/* Este comentário ocupa uma só linha mas podia ocupar mais */
/*
Este comentário ocupa várias linhas. Tudo o que for
escrito aqui dentro será ignorado pelo interpretador
de JavaScript
*/
Script
<head> </head>
<body>
<script type="text/javascript">
sequência de instruções
</script>
</body>
Exemplo:
<html>
<head>
<title></title>
</head>
<body>
<script type="text/javascript">
<!-- document.write("Esta mensagem refere-se ao Javascript")
// -->
</script>
</body>
</html>
Sintaxe:
<html>
<head>
<script type="text/javascript">
sequência de instruções
</script>
</head>
<body>
<script language=”JavaScript”>
sequência de instruções
Escola Secundária S. João do Estoril
</script>
</body>
Scripts Externos
-Escreve-se o script num ficheiro externo, que se grava com a extensão “.js”
document.write(“This script is external”)
-Invoca-se o script, usando o atributo “src”, nas páginas HTML:
Sintaxe:
<html>
<head>
</head>
<body>
<script type="text/javascript" src=”xxx.js”>
</script>
</body>
Nota: Os scripts externos não devem conter a tag <script> e deve ser colocado
exactamente onde se escreveria o script
Exemplo:
<html>
<head>
<title></title>
</head>
<body>
<p>
O script encontra-se num ficheiro externo designado por
"ext.js".
</p>
<p>
<script type="text/javascript" src="ext.js">
Escola Secundária S. João do Estoril
</script>
</p>
</body>
</html>
As mensagens de erro podem surgir quando um script está a ser carregado ou executado
e podem ser devidas a erros de sintaxe, uso incorrecto dos comandos ou objectos do
Javascript e por incompatibilidade com os browsers. A solução na maioria dos casos
passa pela correcção dos erros.
Os scripts são incompatíveis com alguns browsers, e nestes casos mostram o código
script como se fosse o conteúdo de uma página. Para prevenir esta situação, deve
usar-se a tag de comentário do HTML ou a tag noscript.
Sintaxe:
<script type="text/javascript" >
<!—
sequência de instruções
//—>
</script>
As 2 barras (//) no final do comentário são os símbolos de comentário. Previnem o
compilador (interpretador) Javascript de proceder à compilação da linha. Não se pode
colocar as 2 barras no início do comentário (e.g. //<!—), porque os browser mais
antigos, mostram-nas.
Exemplo:
<html>
<head><title></title></head>
<body>
<script type="text/javascript">
<!--
document.write("<h1>Olá Mundo!</h1>")
-->
</script>
<p> Olá </p>
Escola Secundária S. João do Estoril
</body>
</html>
As variáveis são objectos que servem para guardar informação. Elas permitem-nos
dar nomes a cada um dos fragmentos de informação com que temos de lidar.
Existem regras a respeitar na atribuição de um nome a uma variável:
1º - O nome das variáveis é case sensitive
2º - Deve começar com uma letra ou um underscore (_)
3º - O nome não deve ser nenhuma palavra reservada
4º- Os restantes caracteres que compoem o nome podem igualmente conter
números, letras ou sinal de cifrão ($).
Para além do atributo nome, uma variável é caracterizada pelo seu valor e pelo tipo
de dados que a identifica. O valor é o conteúdo armazenado no espaço de memória
associado à variável. O tipo de dados indica o conjunto de dados que uma variável
pode conter. O valor de uma variável pode ser alterado durante o script. Pode-se
referir à variável pelo seu nome, para saber o seu valor, para usar o seu valor, para o
alterar, para o visualizar, etc.
♦ T ipos de dados
Tipo De scr i çã o
representa os números inteiros (decimal, octal ou hexadecimal) ou reais de
numérico
vírgula flutuante.
texto Representa uma cadeia de caracteres(string) entre aspas ou plicas.
booleano Representa um dos seguintes valores lógicos: True ou False
Representa um valor nulo, ou seja, a inexistência de um valor associado a
null uma variável. Uma variável inicializada com null não assume qualquer valor,
ou seja, está vazia.
Representa o conteúdo de variáveis não inicializadas ou indefinidas, ou seja,
Escola Secundária S. João do Estoril
undefined
armazenam o valor especial undefined.
Representa um objecto que é uma colecção de valores (propriedades) e
objecto
métodos (funções). As propriedades podem assumir valores de qualquer tipo.
Representa um tipo de objectos da linguagem JavaScript. Um array é uma
array colecção sequencial de valores ou elementos. Cada valor pode ser acedido,
para leitura ou escrita, através de um número inteiro ou índice.
♦ Declaração de Variáveis - V
Variáveis ariáveis locais e globais
Variáveis
Ao acto de criar uma variável dá-se o nome de declaração. As variáveis que são
declaradas fora de qualquer função são designadas por variáveis globais. Aqui o
termo global significa que a variável em causa pode ser utilizada em qualquer parte
do script; ela está permanentemente acessível. Quando uma variável é declarada
dentro de uma função ela é uma variável local porque só pode ser utilizada dentro
dessa função. Se tentarmos aceder a uma variável local fora da função em que ela foi
declarada é criado um erro porque a variável só existe no universo da função em que
foi declarada; ela não faz parte do mundo exterior a essa função e como tal não pode
ser aí utilizada.
Exemplos de declaração de variáveis:
divisor = 3;
cor=”amarelo”;
pi = 3.14159;
As variáveis declaradas nos exemplos acima são variáveis globais. Para declarar
variáveis locias (variáveis cuja existência se limite a uma pequena secção do código)
usamos a declaração var, assim: var divisor = 3;
Se a declaração var for utilizada fora de qualquer função então, a variável é declarada
na base da estrutura do código, e sendo assim a variável é global.Numa variável
global não existe a necessidade de colocar a declaração var, pois esta é opcional.
Exemplo:
<html>
<head>
<title></title>
</head>
<body>
<script type=”text/JavaScript”>
var a = 5, b = 8
var soma
soma = a + b
alert(“Resultado da soma: “ + soma)
Escola Secundária S. João do Estoril
</script>
</body>
</html>
Variável LLocais
ocais
- São variáveis declaradas dentro de funções
- Apenas podem ser acedidas dentro da função
- Quando a função termina, a variável é destruída
- Podem existir variáveis locais com o mesmo nome em diferentes funções,
porque cada uma delas só é reconhecida dentro da função onde se
encontra declarada
Variável Globais
- São variáveis declaradas fora de uma função
- Todas as funções da página podem aceder a ela
- Estas variáveis são criadas quando são declaradas e só deixam de existir
quando a página é fechada
♦ Atribuição de Variáveis
Variáveis
Para atribuir um valor a uma variável, este deve ser colocado do lado direito do sinal
de igual, enquanto que o nome da variável se encontra do lado esquerdo.
Exemplo: var cor=”azul”
Uma variável é inicializada quando lhe é atribuído um valor. Neste exemplo acima a
variável cor foi inicializada com o valor azul.
Outras atribuições de variáveis:
var x=1, y , z=0 - declaração de três variáveis na mesma linha. Duas foram
inicializadas, uma com o valor de 1 e outra com o valor
de 0. A variável y foi inicializada com o valor undefined.
Escola Secundária S. João do Estoril
♦ Constantes
As constantes
constantes, têm a mesma função que as variáveis, mas o valor de uma constante
não pode ser alterado. Na declaração de uma constante utiliza-se a palavra reservada
const.
Exemplo: const maximo=10;
Não se pode declarar uma constante dentro do corpo de uma função. Também não
se pode declarar uma constante com o nome de uma variável existente.
♦ Literais
As expressões literais representam valores fixos e não variáveis.
Tipo Exe m p l o
54 Inteiro decimal
Inteiro hexadecimal( número que
0xA 153
começa por 0x)
0671 Inteiro Octal (número que começa por 0)
5,41
- 2E8 Real ou vírgula flutuante
numérico
3E- 10
Infinity Infinito positivo (x/0)
- Infinity Infinito negativo (- x/0)
Indeterminação
Na N (0/0)
(Not a Number)
"Isto é uma string"
Escola Secundária S. João do Estoril
string "50"
"amarelo"
true
booleano
false
null null
undefined undefined
array ["aluno, "professor", funcionário"]
Números inteiros
Os números inteiros podem ser expressos na forma decimal (base 10), hexadecimal
(base 16) ou octal (base 8). Um número decimal consiste numa sequência de dígitos
que nunca deve começar por 0 (zero). Se escrevermos um número com um zero no
início isso significa que se trata de um número escrito na forma octal. Por outro lado,
se no início escrevermos os caracteres 0x (ou 0X) isso significa que o número está
escrito na forma hexadecimal. Os números escritos na forma decimal podem conter
os dígitos (0-9), a forma octal aceita apenas dígitos de (0-7) e a forma hexadecimal
aceita os dígitos (0-9) mais as letras a-f e A-F.
Expressões de texto
Uma expressão de texto é composta zero ou mais caracteres colocados entre aspas
("), como por exemplo "esta é uma expressão de texto", ou entre plicas ('), como por
exemplo 'esta é outra expressão de texto'. Para além dos caracteres normais, as
expressões de texto podem conter os caracteres especiais apresentados na lista
seguinte:
Ca r á ct e r S i g ni fi ca d o
\b backspace
\f form feed
\n new line
\r carriage return
\t ta b
\\ backslash
Escola Secundária S. João do Estoril
♦ Caracteres Unicode
Para obter mais informações sobre Unicode, consulte o site Unicode Consortium Web
Escola Secundária S. João do Estoril
site:http://www.unicode.org/.
As operações com dados permitem criar expressões que são sequências de operadores
(aritméticos e outros) e operandos(variáveis, literais e subexpressões), cujo resultado
pode originar valores do tipo número, string, booleano, null e undefined.
= x=y x=y
+= x+=y x=x+y
Os operadores mais conhecidos
-= x-=y x=x-y são as quatro operações
aritméticas básicas (adição
*= x*=y x=x*y subtracção, multiplicação e
divisão.) Para estes a linguagem
/= x/=y x=x/y
JavaScript define as seguintes
%= x% =y x=x% y versões curtas.
♦ Operador String
Uma string é uma sequência de caracteres (letras, números, pontuação, etc). Por
exemplo: “Olá Mundo!”.
Para concatenar duas ou mais strings, usa-se o operador “+”.
Exemplo:
txt1=”O meu nome é: “
txt2=”Paula Cardoso Alcobia”
txt3=txt1+” “+txt2
Escola Secundária S. João do Estoril
♦ Operadores de aritméticos
Um operador aritmético recebe valores numéricos (tanto variáveis como expressões
literais) e produz um valor numérico como resultado. Os operadores numéricos mais
importantes são a adição (+), a subtracção (-), a multiplicação (*), a divisão (/) e o
resto da divisão (%). O funcionamento destes operadores em JavaScript respeita todas
as regras da álgebra.
x=2
+ adição 4
x+2
x=2
- subtracção 3
5-x
x=4
* m ultiplicação 20
x*5
15/5 3
/ divisão
5/2 2.5
5% 2 1
m ódulo ( obtém o resto de um a divisão
% 10% 8 2
inteira)
10% 2 0
x=5
-- decrem ento 4
x--
x=3
- m enos unário -3
-x
Exp r e ssã o X A
X=++A A A+1
X=--A A A-1
♦ Operadores de comparação
Para comparar diferentes operandos entre si, é necessário salientar algumas regras:
-o valor null é igual ao valor undefined;
-dois valores booleanos são iguais se forem ambos true e false;
- duas strings são iguais se contiverem a mesma sequência de caracteres;
- duas variáveis diferentes são iguais se referenciarem o mesmo objecto.
A comparação de strings é feita por ordem alfabética. No caso de um dos operandos
ser do tipo número, o interpretador faz a conversão do operando string para número
e faz uma comparação numérica.
Escola Secundária S. João do Estoril
Exe m p l o T i p o d e co m p a r a çã o Re s ul t a d o
♦ Operadores lógicos
Os operadores lógicos aceitam os valores lógicos true e false (verdadeiro e falso)
como operandos e retornam valores lógicos como resultado. Os operadores lógicos
base encontram-se listados a seguir:
x=6
Dá true se b for false e
negação (!) !b y=3
dá false se b for true.
!(x==y) devolve verdadeiro
Exp r e ssã o EX P1 EX P2 Re s ul t a d o
V V V
V F F
EX P 1 && EX P 2
F V F
F F F
V V V
V F V
EX P1 || EX P2
F V V
F F F
Escola Secundária S. João do Estoril
V F
!EX P1
F V
♦ Outros operadores
Existem outros operadores que são designados por operadores especiais, visto que
não se encaixam nas categorias anteriores, que são:
♦ Operador Condicional (?:)
♦ Operador vírgula (,)
♦ Operador Delete
♦ Operador In
♦ Operador Instanceof
♦ Operador New
♦ Operador This
♦ Operador Typeof
♦ Operador void
Esta expressão assume o valor de adulto se a idade for 18 ou mais, caso contrário
Escola Secundária S. João do Estoril
Exemplo:
for (var i=0, j=9; i <= 9; i++, j--)
document.writeln("a["+i+","+j+"]= " + a[i,j])
♦ Operador Delete
Permite eliminar um objecto, uma propriedade de um objecto ou um elemento com
um determinado índice num array. A sintaxe é a seguinte:
delete objecto
delete objecto.propriedade
delete objecto[índice]
delete propriedade //permitido apenas dentro da instrução with
Exemplos:
x=42
var y= 43
myobj=new Number()
myobj.h=4 // cria a propriedade h
delete myobj.h // apaga a propriedade
delete myobj // apaga o objecto
♦ Operador In
Devolve verdadeiro(true) se uma determinada propriedade existe num determinado
objecto.
Sintaxe: Propriedade in objecto
♦ Operador Instanceof
Devolve verdadeiro(true) se um determinado objecto é um determinado tipo de objecto.
Sintaxe: Objecto instanceof tipoObjecto
Escola Secundária S. João do Estoril
♦ Operador New
Permite criar uma instância de um objecto de um tipo definido pelo utilizador ou de
um dos tipos já construídos no JavaScript: Array, Boolean, Date, Function, Image,
Number, Object, Option, RegExp, ou String. No servidor podemos usar também
DbPool, Lock, File, ou SendMail.
Sintaxe do new:objecto = new tipoobjecto ([param1] [,param2] ...[,paramN])
♦ Operador This
Palavra-chave que é usada para referir um objecto em uso.
Sintaxe: this[.propriedade]
this[.método]
Exemplo:
<B>Insira a idade entre 18 e 99:</B>
<INPUT TYPE = "text" NAME = "age" SIZE = 3
onChange="validate(this, 18, 99)">
♦ Operador TTypeof
ypeof
O typeof é utilizado de uma das seguintes formas:
1. typeof operando
2. typeof (operando)
O operador typeof retorna uma string indicando o tipo da variável. Os parêntesis
são opcionais.
♦ Operador void
O void é utilizado de uma das seguintes formas:
1. void expressão
2. void (expressão)
O operador void especifica uma expressão para ser avaliada , mas não retorna nenhum
valor. Os parêntesis são opcionais.
Exemplo:<A HREF="javascript:void(0)">Clique aqui</A>
A presente expressão cria uma hiperligação que não faz nada quando o utilizador
clica no link. Quando o utilizador clica no link, void(0) retorna 0, o que não tem
nenhum efeito no Javascript.
Escola Secundária S. João do Estoril
O exemplo a seguir, cria uma hiperligação que submete um form quando o utilizador
clica no link.
<A HREF="javascript:void(document.form.submit())"> Clique aqui para submeter o
form.</A>
A precedência dos operadores determina a ordem pela qual é avaliada uma expressão.
Pode-se ultrapassar esta precedência usando-se parêntesis. A tabela a seguir apresenta
a precedência dos vários operadores da ordem mais alta para a mais baixa.
Estruturas de controlo
♦ A instrução if
A instrução if é utilizada para testar uma condição e executar um bloco de código
apenas quando ela é satisfeita.
Sintaxe:
if (condição)
{
bloco de instruções
}
Exemplo:
<script language=“JavaScript”>
// Se o tempo no browser for inferior a 12, aparecerá escrito “Bom dia”
var d=new Date()
var tempo=d.getHours()
Escola Secundária S. João do Estoril
if (tempo<10)
{
document.write(“<b>Bom dia</b>”)
}
</script>
Sintaxe:
if(condição)
{
bloco 1
}
else
{
Se a condição for verdadeira o
bloco 2 bloco 1 é executado. Caso
contrário, o bloco 2 é executado.
}
Exemplo:
<script language=“JavaScript”>
//Se o tempo no browser é inferior a 12, sera ecrito “Bom dia”
//Caso contrário será escrito”Boa tarde”
var d = new Date()
var tempo = d.getHours()
if (tempo < 10)
{
document.write(“Bom dia!”)
}
else
Escola Secundária S. João do Estoril
{
document.write(“Boa tarde!”)
}
</script>
Também é possível escrever uma estrutura que execute um entre múltiplos blocos de
instruções.
Sintaxe:
if(condição 1)
{
bloco 1
...
}
else
if(condição N)
{
bloco N
}
Escola Secundária S. João do Estoril
♦ Estrutura switch...case
A estrutura switch...case é uma estrutura de decisão que permite comparar o valor do
seu argumento (uma variável ou uma expressão) com vários valores. Para cada caso
em que houver uma igualdade será executada uma determinada porção de código.
Sintaxe:
switch (expressão)
{
case label1:
código a ser executado se expressão = label1
break
case label2:
código a ser executado se expressão = label2
break
default:
código a ser executado se expressão for diferente de label1 e label2
}
Escola Secundária S. João do Estoril
Exemplo:
switch(i)
{
case 6: s += " pertence "
break
case 12: s += " pertence "
break
case 32: s += " pertence "
break
case 66: s += " pertence "
break
default: s += " não pertence "
}
s += "ao conjunto {6, 12, 32, 66}"
document.write(s)
Escola Secundária S. João do Estoril
As estruturas de repetição são usados para executar o mesmo bloco de código diversas
vezes.
Em JavaScript existem os seguintes ciclos de repetição:
-for - executam um bloco de código enquanto uma condição for satisfeita.
-while - repetem a execução de um bloco de código enquanto uma condição
for satisfeita.
- do...while - repetem a execução de um bloco de código enquanto uma
condição for satisfeita mas executam-no pelo menos uma vez, mesmo que a
condição nunca seja satisfeita.
♦ Estrutura for
A estrutura for costuma ser utilizada quando se quer um número determinado de ciclos.
A contagem dos ciclos é feita por uma variável chamada de contador. A estrutura for
é, as vezes, chamada de estrutura de repetição com contador.
A sintaxe é a seguinte:
for(inicialização; condição;pós-instrução)
{
bloco
}
Nota: O ciclo for identifica três componentes, separadas por ponto e vírgula. Se for
necessário realizar mais do que uma inicialização ou pós-instrução, estas deverão ser
separadas por vírgulas.
Escola Secundária S. João do Estoril
Exemplo:
for (i = 0; i < 2; i++)
{
a=i
}
♦ Estrutura while
Exemplo:
<script type="text/javascript">
<!--
var i = 0
while (i <= 5)
{
document.write("O número é " + i)
document.write("<br/>")
i++
}
document.write("O ciclo terminou<br/>")
// -->
</script>
Escola Secundária S. João do Estoril
♦ Estrutura do...while
Exemplo:
<script type=”text/javascript”>
<!—
i=0
do
{ document.write(“O número é “ + i)
document.write(“<br/>”)
i++
}
while (i <= 5)
document.write(“O ciclo terminou<br/>”)
// —>
</script>
♦ Ciclos Infinitos
Ciclos infinitos, são ciclos que nunca terminam, isto é, apresentam condições que
são sempre verdadeiras.
Exemplos:
Escola Secundária S. João do Estoril
♦ A instrução break --Esta instrução serve para terminar a execução das instruções de
um ciclo de repetição (for, do...while, while) ou para terminar um conjunto switch.
Quando em um ciclo de repetição, esta instrução força a interrupção do ciclo
independentemente da condição de controle.
Exemplo:
for (i = 0; i < a.length; i++) {
if (a[i] = theValue);
break;
}
♦ A instrução continue - Esta instrução opera de modo semelhante à instrução break
dentro de um ciclo de repetição. Quando executada, ela salta as instruções de um
ciclo de repetição sem sair do ciclo. Isto é, a instrução força a avaliação da condição
de controle do ciclo.
Exemplo:
i=0
n=0
while (i < 5) {
i++
if (i == 3)
continue
n += i
}
♦ A instrução return(expressão) - só pode ser usada dentro das funções, terminando
de imediato a sua execução a partir do local onde está inserida. A expressão associado
(opcional) é o valor retornado pela função.
Exemplo:
function factorial(n) {
if ((n == 0) || (n == 1))
Escola Secundária S. João do Estoril
return 1
else {
result = (n * factorial(n-1) )
return result }
}
Tratamento de excepções
Por vezes surgem situações em que uma parte de um script é executada em condições
desfavoráveis. Isso acontece sempre que um script tenta usar um objecto que não está
definido ou tenta realizar uma operação que não pode ser realizada. Sempre que
aparece uma situação deste tipo surge uma excepção na execução do código. O
comportamento normal do interpretador de JavaScript é parar a execução do script
porque não sabe o que deve fazer a seguir.
Porém, há situações adversas das quais o script pode recuperar em boas condições
desde que o programador lhe dê instruções para tal. Isso consegue-se fazendo a
captura da excepção criada pelo erro e executando código capaz de fazer a
recuperação.
Para tal usa-se as instruções try...catch, que têm a sintaxe seguinte:
try...catch,
try
{ bloco com código normal mas que pode gerar erros
}
catch(excepção)
{ bloco com código capaz de fazer a recuperação dos erros
}
A secção try contém o código normal logo a seguir à instrução try. Ao chegar a esta
instrução o interpretador de JavaScript tenta executar esse bloco da forma habitual.
Se não ocorrer nenhum erro o interpretador ignora o código que está na secção catch
e continua a executar o resto do script. Se ocorrer um erro no bloco try esse erro é
capturado pelo bloco catch. É aí que o interpretador de JavaScript continua a executar
o código imediatamente após o erro. No bloco catch devemos colocar o código de
recuperação.
Exemplo:
try
{
s = a[1].substring(0,4)
}
Escola Secundária S. João do Estoril
catch(e)
{
s = “Ocorreu um erro no script: “+e
}
Throw
A instrução throw é utilizada para lançar uma excepção e quando utilizada na instrução
try, permite controlar o fluxo do programa, criando mensagens de erro para a instrução
cacth.
Sintaxe:
throw expressão
Arrays
Definição:
- O objecto Array é usado para armazenar um conjunto de valores numa única
variável.
-Este tipo de objectos é constituído por diversos compartimentos, em que cada
um destes armazena um valor.
-Cada valor armazenado num dos campor do array encontra-se associado a
um índice.
Exemplo:
var frutas_tropicais = new Array("Goiaba", "Manga", "Maracujá");
var frutas_nacionais = new Array(3);
frutas_nacionais[0] = "Maçã";
frutas_nacionais[1] = "Cereja";
frutas_nacionais[2] = "Laranja";
Em JavaScript as variáveis não têm um tipo definido, por isso um array pode conter
valores de tipos diferentes que podemos alterar sempre que necessário.
Exemplo:
var sortido = new Array(8975, "Livro", false, -27.765, "Bolachas");
document.write("sortido = " + sortido);
sortido[0] = 0.0004763;
sortido[2] = true;
sortido[6] = "Caderno";
document.write("<br/>");
document.write("sortido = " + sortido);
♦ Criação de um Array
- Para criar um objecto Array usa-se a palavra-chave “new”
Exemplo:
var familia_nomes=new Array(3)
var familia_nomes =new Array(“Maria”,”João”,”Pedro”)
Neste exemplo são criados dois arrays, ambos com 3 elementos. Na primeira linha é
apenas criado o array. Na segunda linha, além de ser criado o array, são atribuídos
Escola Secundária S. João do Estoril
♦ Acesso a um Array
Para aceder a um elemento do array é necessário referir:
- O nome do array
- O número do índice
Paula Cardoso Alcobia - 40 -
Curso Tecnológico de Informática - Aplicações Informáticas A - 11º Ano
Depois de criado um array, pode ser atribuído o valor aos seus elementos (todos
ou parte).Exemplo 1:
var familia_nomes=new Array(3)
familia_nomes [0]=”Cláudia”
familia_nomes [1]=”Rafela”
familia_nomes [2]=”Daniel”
Exemplo 2:
var familia_nomes =new Array(“Cláudia”,”Rafaela”,”Daniel”)
familia_nomes [0]=”Maria”
familia_nomes [1]=”Inês”
familia_nomes [2]=”Diogo”
brinquedo [0][2]
Funções
Definição: designamos por função um bloco de código, a que foi atribuído um nome
para que possa ser chamada várias vezes em diferentes locais.
Em Javascript existem dois tipos de funções:
- As funções próprias do Javascript- que chamamos de métodos. Elas
são associadas a um objecto bem particular como o caso do método
Alert() com o objecto window.
- As funções escritas pelo programador para executar um script.
As funções são definidas no início de um documento (na secção head) e são chamadas
posteriormente no mesmo documento (na secção body).
♦ Declaração de funções
Para declarar ou definir uma função utiliza-se a palavra function. A sintaxe é a seguinte:
function nome_da_função(argumentos){
…. Instruções …
}
O nome de uma função segue as regras das variáveis (começa por uma letra, etc).
Não esquecer que o Javascript é case sensitive, pois função() é diferente de Função().
Todos os nomes de funções num script devem ser únicos.
♦ Invocação de funções
Exemplos:
- Chamar uma função que contém argumentos, fazendo a subtituição por valores
concretos:
primeira(valor1,valor2, etc)
- Ou sem argumentos: segunda()
♦ Passagem de parâmetros
{
var m = p*q
return m
}
Para usarmos esta função basta que escrevamos: var produto = multiplicar(5, 4) e a
variável produto passará a ter o valor 20, que é igual a 5 vezes 4.
Paula Cardoso Alcobia - 43 -
Curso Tecnológico de Informática - Aplicações Informáticas A - 11º Ano
1) TTodos
odos os argumentos são declarados ao definir a função
Esta situação ocorre quando os argumentos têm naturezas diferentes. Alguns
argumentos são obrigatórios mas outros são opcionais. Quando um argumento
opcional não é fornecido a função deve dar-lhe um valor por omissão.
Exemplo:
function multiplicar(p, q)
{
var m = p*q
return m
}
2) Não são declarados argumentos ao definir a função
Esta situação ocorre normalmente quando os argumentos são todos do mesmo tipo
(são todos números ou são todos strings.)
Exemplo:
function somar()
{
var soma=0
for(var i=0;i<somar.arguments.length;++i)
soma += somar.arguments[i]
return soma
}
Escola Secundária S. João do Estoril
♦ R etorno de valores
Quando se pretende que uma função devolva ou retorne um valor para o corpo
principal do programa. Dela deve conter a instrução return dentro do seu bloco de
código. O valor de retorno de uma função pode ser de qualquer tipo. Esta instrução é
facultativa e podemos encontrar vários return na mesma função.
Exemplo:
function resultado(a,b){
var c = a + b
return c
}
Esta função calcula a soma de dois números e devolve o resultado:
soma=resultado(2,3). Quando a função é invocada, dão entrada dois valores
(parâmetros) para dentro da função. O valor que é devolvido (valor de retorno) é 5 e
é armazenado na variável soma.
<html>
<head>
<title></title>
<script type="text/javascript">
<!--
function multiplicar(p, q)
{
var m = p*q
return m
}
// -->
</script>
</head>
<body>
<p>
O valor devolvido pela função é:
<script type="text/javascript">
<!--
Escola Secundária S. João do Estoril
A linguagem JavaScript é uma linguagem orientada para objectos. Isto significa que
em JavaScript tudo são objectos.
Um objecto é uma estrutura que pode conter uma colecção de propriedades(variáveis)
e métodos (funções que manipulam as variáveis).
O javascript tem objectos predefinidos como strings, Date, Array, Math e outros, com
métodos e propriedades predefinidos. No entanto é possível criar novos objectos com
propriedades e métodos associados.
♦ Propriedades de objectos
♦ Métodos
Os métodos de um objecto são funções que pertencem a esse objecto. Enquanto que
as propriedades correspondem a variáveis, os métodos correspondem a funções. Os
métodos realizam transformações no objecto a que pertencem e devolvem o resultado
da sua actuação.
Escola Secundária S. João do Estoril
Qualquer informação que seja preciso passar para um método é recebida pelas
variáveis especificadas dentro do par de parêntesis que segue o nome do método.
Essas variáveis são designadas por parâmetros. Se um determinado método não
precisar de nenhum parâmetro, é necessário incluir um parêntesis vazio.
Os métodos podem também estar associados a objectos. Neste caso, para indicar os
métodos que pertencem a um objecto, basta ligá-los ao objecto através do operador
ponto(.).
Sintaxe:
Nome_do_objecto. nome_do_método([parâmetro1][,parâmetro2][…,parâmetro
N])
♦ Métodos estáticos
Alguns objectos oferecem métodos estáticos. Esses métodos diferem dos métodos
normais pelo facto de não pertencerem a um objecto criado com a instrução new. Os
métodos estáticos estão sempre disponíveis para ser usados, não é preciso criar um
objecto para usá-los. Um exemplo de um método estático é o método
String.fromCharCode(). Por ser um método estático do objecto String ele deve ser
sempre invocado na forma String.fromCharCode () e antes de .fromCharCode () nunca
se deve colocar o nome de uma variável. Quando utilizado deve começar sempre por
String.
- A declaração this
this-- A declaração this representa o próprio objecto em que é usada.
Esse objecto pode ser uma função, uma ligação de hipertexto, uma imagem, etc. Esta
declaração é bastante útil em HTML Dinâmico porque nos ajuda muito a construir
funções que respondem a eventos sabendo sempre qual foi o objecto que originou o
evento e funcionam correctamente em todos os browsers.
- A declaração with
with- Esta declaração estabelece o objecto ao qual se aplica uma
série de instruções. Os dois exemplos seguintes usam o objecto Math para ilustrar o
uso desta declaração e são totalmente equivalentes
Versão 1:
x = Math.cos(3 * Math.PI) + Math.sin(Math.LN10)
y = Math.tan(14 * Math.E)
Versão 2 (equivalente à anterior.) Repare que não foi preciso colocar a parte Math.
antes dos nomes dos métodos cos(), sin() ou tan().
with (Math)
{
x = cos(3 * PI) + sin (LN10)
y = tan(14 * E)
}
Quando o número de instruções é pequeno não vale a pena usar a declaração with,
mas se esse número crescer muito o código será mais compacto e fácil de ler se
usarmos esta declaração.
♦ Objecto Array
O objecto Array é usado para armazenar um conjunto de valores numa única variável.
Este tipo de objectos é constituído por diversos compartimentos, em que cada um
destes armazena um valor. Cada valor armazenado num dos campos do array encontra-
se associado a um índice.
Pr o p r i e d a d e De scr i çã o
Mé t o d o De scr i çã o S i nt a xe
Mé t o d o De scr i çã o S i nt a xe
<script type="text/javascript">
<!--
var fruta = new array("Laranja","Banana","Morango","Ananás","Maçã","Kiwi")
// Agora ordenamos o Array por ordem alfabética invocando o método sort()
fruta.sort()
// -->
</script>
<table>
<tr>
<td width="140"><b>Ordem alfabética</b></td>
<td><b>Ordem inversa</b></td>
</tr>
<td>
<script type="text/javascript">
<!--
for (var i=0; i<6; i++)
document.write(fruta[i] + "<br/>")
// -->
</script>
</td>
<td>
<script type="text/javascript">
<!--
// Agora invertemos a ordem do Array invocando o método reverse()
fruta.reverse()
for (var i=0; i<6; i++)
document.write(fruta[i] + "<br/>")
// -->
Escola Secundária S. João do Estoril
</script>
</td>
</tr>
</table>
</body>
</html>
♦ Objecto Boolean
Cria um objecto do tipo boolean com valor inicial false, se for chamado sem
argumentos, ou com um valor especificado. O objecto Boolean tem o valor false
(falso) se:
- não se encontra inicializado
- tem valor 0 (zero)
- tem o valor null
- tem o valor “” (string vazia)
- tem o valor falso
- tem o valor NaN
- O objecto Boolean tem o valor true (verdadeiro) se:se não se verificr nenhuma das
situações acima citadas.
Linhas de código onde são criados objectos Boolean com o valor inicial false:
var b1=new Boolean()
var b2=new Boolean(0)
var b3=new Boolean(null)
var b4=new Boolean(“”)
var b5=new Boolean(false)
var b6=new Boolean(NaN)
Linhas de código onde são criados objectos Boolean com o valor inicial true:
var b1=new Boolean(“true”)
var b2=new Boolean(“Paula”)
Sintaxe: objecto.nome_da_propriedade
Escola Secundária S. João do Estoril
Pr o p r i e d a d e De scr i çã o
Sintaxe: objecto.nome_do_método
Mé t o d o De scr i çã o
Exemplo:
<html>
<body>
<script language=“JavaScript”>
var b1= new Boolean(0)
var b2= new Boolean(1)
var b3= new Boolean(“”)
var b4= new Boolean(null)
var b5= new Boolean(NaN)
var b6= new Boolean(“false”)
document.write(“0 é booleano e tem o valor <b>” + b1 + “</b><br/>”)
document.write(“1 é booleano e tem o valor <b>” + b2 + “</b><br/>”)
document.write(“Uma string vazia é booleano e tem o valor <b>” + b3 +
“</b><br/>”)
document.write(“null é booleano e tem o valor <b>” + b4 + “</b><br/>”)
document.write(“NaN é booleano e tem o valor <b>” + b5 + “</b><br/>”)
document.write(“A string ‘false’ é booleano e tem o valor <b>” + b6 +
Escola Secundária S. João do Estoril
“</b><br/>”)
</script>
</body>
</html>
♦ Objecto Date
O objecto Date permite-nos ler, construir e realizar operações com datas e horas.
Pr o p r i e d a d e De scr i çã o
Mé t o d o De scr i çã o S i nt a xe
getFullYear.
Mé t o d o De scr i çã o S i nt a xe
(UTC)
Mé t o d o De scr i çã o S i nt a xe
Mé t o d o De scr i çã o S i nt a xe
Mé t o d o De scr i çã o S i nt a xe
Mé t o d o De scr i çã o
Exemplo:
Exemplo:<html>
<body>
<script language=“JavaScript”>
var d= new Date()
Escola Secundária S. João do Estoril
document.write(d.getHours() + “.”)
document.write(d.getMinutes() + 1+ “.” )
document.write(d.getSeconds())
</script>
</body>
</html>
♦ Object
A função Object é um construtor utilizado para criar qualquer objecto com o operador
new.
Sintaxe para criar um objecto qualquer:
nome_do_objecto=new object()
♦ Objecto String
O objecto String é usado para trabalhar com texto. Uma string é uma cadeia de
caracteres, que pode conter:
- letras
- números
- pontos
- outros caracteres (#, &, $, …)
Pr o p r i e d a d e De scr i çã o
Mé t o d o De scr i çã o
Escola Secundária S. João do Estoril
Mé t o d o De scr i çã o S i nt a xe
Devolve a posição da 1ª
indexOf() object.indexOf(nome,[index])
ocorrência de uma string noutra
Mé t o d o De scr i çã o S i nt a xe
Exemplo: <html>
<body>
<script language=“JavaScript”>
var str=”Olá mundo”
document.write(“<p>” + str + “</p>”)
document.write(“comprimento da string: “ + str.length)
Escola Secundária S. João do Estoril
</script>
</body>
</html>
Este exemplo devolve uma string, guardada previamente numa variável e escreve
também o comprimento (número de caracteres) dessa string, usando a propriedade
length, do objecto string..
♦ Objecto Math
O objecto Math é um objecto intrínseco do sistema JavaScript. Ele não deve ser criado
explicitamente pelo programador porque é o próprio sistema que o cria
automaticamente ao arrancar.
Para armazenar um número aleatório entre 0 e 1, usa-se uma variável designada
“r_number”: r_number=Math.random().
Para armazenar o valor arredondado de 8.6 numa variável designada “r_number”:
r_number=Math.round(8.6).
Pr o p r i e d a d e De scr i çã o
Sintaxe: objecto.nome_do_método
Todos os métodos do objecto Math aceitam um, dois ou nenhum números como
argumentos e devolvem um número como resultado.
Mé t o d o De scr i çã o S i nt a xe
Exemplo:
<html>
<body>
<script language=“JavaScript”>
document.write(“Arredondamento <br>”)
document.write(Math.round(7.25) )
document.write(“<br><br>Máximos e Mínimos “)
document.write(“<br>” + Math.max(2,4))
document.write(“<br>” + Math.min(10, 67))
document.write(“<br><br>Potências “)
document.write(“<br>” + Math.pow(2,3))
</script>
</body>
</html>
♦ Eventos
Eventos são acontecimentos ocorridos durante a execução do programa, que podem
ser detectadas pelo JavaScript, como por exemplo:
- Um clique do rato
- O carregamento de uma página WEB, ou mesmo de uma imagem
- Deslocar o rato sobre uma determinada zona de uma página
- Seleccionar uma caixa de input num formulário HTML
- Submeter um formulário HTML
- Carregar numa tecla
Lista de eventos
Gestor d o
Ev e nt o A p l i ca d o a : De scr i çã o
Ev e nt o
Abort Quando o carregamento de uma
onAbort i m a g es
imagem é interrompida.
Blur windows e todos os Quando se retira o focus de uma
onBlur
elementos de formulário janela ou de um elemento.
Change text fields, textareas, Quando o conteúdo de um campo é
onChange
select lists modificado.
buttons, radio buttons,
Click Quando se clica num objecto como
onClick checkboxes, submit
buttons, reset buttons, links
um botão, um link ou outro elemento.
Escola Secundária S. João do Estoril
Lista de eventos(continuação)
Gestor d o
Ev e nt o A p l i ca d o a : De scr i çã o
Ev e nt o
Focus windows e todos os
onFocus Quando o elemento obtém o foco.
elementos de formulário
KeyDown documents, images, links,
onKeyDown Quando é pressionada uma tecla.
text areas
corpo do
L oa d
onLoad documento(document Quando o objecto é carregado.
body)
MouseDown Quando o botão do rato é
onMouseDown documents, buttons, links
pressionado.
MouseMove nada por defeito (nothing
onMouseMove Quando é movido o cursor do rato.
by default)
Move
onMove windows Quando se move uma janela
El e m e nt o G e s t o r d e Ev e nt o
Á rea onmouseover
<á r e a > onmouseout
ondblclick
onclick
ondblclick
Body onkeydown
<b o d y> onkeyup
onkeypress
onmousedown
onmouseup
onblur
B ut t o n onclick
<i np ut t yp e = "b ut t o n"> onfocus
onmousedown
onmouseup
onclick
ondblclick
onkeydown
d o cum e nt onkeyup
onkeypress
onmousedown
onmouseup
che ckb o x onblur
<i np ut t yp e = "che ckb o x"> onclick
onfocus
onblur
Escola Secundária S. João do Estoril
Fi l e U p l o a d onchange
onfocus
onblur
onerror
Fr a m e
onfocus
Fr a m e s e t
onload
Wi nd o w
onresize
onunload
El e m e nt o G e s t o r d e Ev e nt o
onreset
Wi nd o w
onsubmit
onabort
onerror
onkeydown
img
onkeyup
onkeypress
onload
onblur
Ra d i o
onclick
<i np ut t yp e = " r a d i o ">
onfocus
onclick
ondblclick
onkeydown
L i nk
onkeyup
<a >
onkeypress
onmousedown
onmouseup
onmouseout
onblur
Pa s s w o r d
onfocus
onblur
Re s e t
onclick
<i np ut t yp e = " r e s e t "> onfocus
onblur
S e l e ct
onchange
<i np ut t yp e = " s e l e ct ">
onfocus
onblur
S ub m i t
onclick
<i np ut t yp e = " s ub m i t "> onfocus
onblur
Te x t onchange
<i np ut t yp e = " t e xt "> onfocus
Escola Secundária S. João do Estoril
onselect
onblur
onchange
onfocus
Te x t A r e a onselect
onkeydown
onkeyup
onkeypress
♦ Os objectos DOM
♦ Attr – os nós attr representam os atributos das tags num documento, isto é a
interface Attr representa um atributo no objecto Element. Os nós Attr não fazem
parte da árvore do documento desde que estejam associados com o nó Element.
O standard DOM, para além do Core, é constituído pelo HTML DOM. Este fornece
interfaces de alto nível específicas para tipos particulares de nós e que são usadas
com o Core Dom, fundamentais para fornecerem uma representação de um documento
HTML.
O HTML DOM define um documento HTML como uma colecção de objectos, onde
todas as propriedades, métodos e eventos disponíveis para manipular e criar páginas
web organizadas em objectos. A raiz de um documento HTML é o objecto HTML
Document. Por outro lado, todas as tags HTML correspondem a objectos HTML DOM
e os atributos são as suas propriedades.
Quando um browser carrega uma página ele cria uma representação hierárquica do
Escola Secundária S. João do Estoril
seu conteúdo que se assemelha à sua estrutura HTML. Isto resulta numa árvore
organizada em nós, cada um representando uma tag, um atributo, um conteúdo ou
outro objecto. A raiz da árvore do documento é acedida pela interface document.
A figura seguinte apresenta a hierarquia de alguns dos objectos que podem estar
presentes num documento em HTML. É de observar que o document contém a
representação da página HTML. Cada um dos objectos ou tags que compõem a
página(formulários, parágrafos, imagens, links e outros) podem ser lidos e manipulados
através deste objecto.
Escola Secundária S. João do Estoril
<body onmousedown="whichElement(event)">
<p>Click somewhere in the document. An alert box will alert the tag name of the
element you clicked on.</p>
<h3>This is a header</h3>
Escola Secundária S. João do Estoril
<p>This is a paragraph</p>
<img border="0" src="ball16.gif" width="29" height="28" alt="Ball">
</body>
</html>
<html>
<body>
<img border="0" src="hackanm.gif" width="48" height="48">
<br />
<img border="0" src="compman.gif" width="107" height="98">
<br /><br />
<script type="text/javascript">
document.write("This document contains: " + document.images.length + " images.")
</script>
</body>
</html>
<html>
<head>
<script type="text/javascript">
function changeSize()
{
document.getElementById("compman").height="250"
document.getElementById("compman").width="300"
}
</script>
</head>
<body>
Escola Secundária S. João do Estoril
Alguns Scripts
<HEAD>
<SCRIPT LANGUAGE=”JavaScript”>
<!— Begin
function moveWin() {
for (var i = 1; i < 1001; i++)
window.moveBy(1, 1);
window.moveBy(-1000, -1000);
}
// End —>
</script>
</HEAD>
<BODY>
<form>
<input type=button value= “Eu vou para a página da PPaula
aula - LLOL
OL
OL””
’http://1212.page.vu
’http://1212.page.vu’’ ;”>
onClick=”moveWin();window.location.href=’http://1212.page.vu
</form>
Ou então
http://1212.page.vu
<a href=”http://1212.page.vu Eu vou para a página da
http://1212.page.vu”; onClick=”moveWin()”>Eu
Paula - LLOL
OL </a>
</BODY>
Escola Secundária S. João do Estoril
<HEAD>
<style type=”text/css”>
<!— Begin CSS
#a { position: absolute; top: 10px; left: 10px; visibility: visible }
#b { position: absolute; top: 10px; left: 10px; visibility: visible }
#c { position: absolute; top: 10px; left: 10px; visibility: visible }
#d { position: absolute; top: 10px; left: 10px; visibility: visible }
#e { position: absolute; top: 10px; left: 10px; visibility: visible }
#f { position: absolute; top: 10px; left: 10px; visibility: visible }
#g { position: absolute; top: 10px; left: 10px; visibility: visible }
End CSS —>
</style>
</HEAD>
<BODY>
<layer name=”a0" left=10 top=10 visibility=show bgcolor=”#ff0000"
clip=”0,0,2,2"></layer>
<layer name=”a1" left=10 top=10 visibility=show bgcolor=”#ff8000"
clip=”0,0,2,2"></layer>
<layer name=”a2" left=10 top=10 visibility=show bgcolor=”#ffff00"
clip=”0,0,2,2"></layer>
<layer name=”a3" left=10 top=10 visibility=show bgcolor=”#00ff00"
clip=”0,0,2,2"></layer>
<layer name=”a4" left=10 top=10 visibility=show bgcolor=”#0000ff ”
clip=”0,0,2,2"></layer>
<layer name=”a5" left=10 top=10 visibility=show bgcolor=”#ff00ff ”
clip=”0,0,2,2"></layer>
<layer name=”a6" left=10 top=10 visibility=show bgcolor=”#ffffff ”
clip=”0,0,2,2"></layer>
size:2px;visibility:visible”></div>
<div style=”position:relative;width:2px;height:2px;background:#ffff00;font-
size:2px;visibility:visible”></div>
<div style=”position:relative;width:2px;height:2px;background:#ffa000;font-
size:2px;visibility:visible”></div>
<div style=”position:relative;width:2px;height:2px;background:#ff0000;font-
size:2px;visibility:visible”></div>
<div style=”position:relative;width:2px;height:2px;background:#00ff00;font-
size:2px;visibility:visible”></div>
<div style=”position:relative;width:2px;height:2px;background:#0000ff;font-
size:2px;visibility:visible”></div>
<div style=”position:relative;width:2px;height:2px;background:#FF00FF;font-
size:2px;visibility:visible”></div>
</div>
<script language=”JavaScript”>
<!— Begin
if (document.layers) {
window.captureEvents(Event.MOUSEMOVE);
}
var yBase = 200;
var xBase = 200;
var yAmpl = 10;
var yMax = 40;
var step = .2;
var ystep = .5;
var currStep = 0;
var tAmpl=1;
var Xpos = 1;
var Ypos = 1;
var i = 0;
var j = 0;
if (document.all) {
function MoveHandler(){
Xpos = document.body.scrollLeft + event.x;
Ypos = document.body.scrollTop + event.y;
}
document.onmousemove = MoveHandler;
}
else if (document.layers) {
Escola Secundária S. João do Estoril
function xMoveHandler(evnt) {
Xpos = evnt.pageX;
Ypos = evnt.pageY;
}
window.onMouseMove = xMoveHandler;
}
function animateLogo() {
if (document.all) {
yBase = window.document.body.offsetHeight / 4;
xBase = window.document.body.offsetWidth / 4;
}
else if (document.layers) {
yBase = window.innerHeight / 4;
xBase = window.innerWidth / 4;
}
if (document.all) {
for (i = 0 ; i < starsDiv.all.length; i++) {
starsDiv.all[i].style.top = Ypos + Math.cos((20*Math.sin(currStep/
20))+i*70)*yBase*(Math.sin(10+currStep/10)+0.2)*Math.cos((currStep + i*25)/
10);
starsDiv.all[i].style.left = Xpos + Math.sin((20*Math.sin(currStep/
20))+i*70)*xBase*(Math.sin(10+currStep/10)+0.2)*Math.cos((currStep + i*25)/
10);
}
}
else if (document.layers) {
for (j = 0; j < 7; j++) { //7 is number of NS layers!
var templayer=”a” + j;
document.layers[templayer].top = Ypos + Math.cos((20*Math.sin(currStep/
20))+j*70)*yBase*(Math.sin(10+currStep/10)+0.2)*Math.cos((currStep + j*25)/
10);
document.layers[templayer].left =Xpos + Math.sin((20*Math.sin(currStep/
20))+j*70)*xBase*(Math.sin(10+currStep/10)+0.2)*Math.cos((currStep + j*25)/
10);
}
}
currStep += step;
setTimeout(“animateLogo()”, 10);
}
animateLogo();
// End —>
</script>
</BODY>
Escola Secundária S. João do Estoril
<HEAD>
<style>
<!—
a{text-decoration:none}
//—>
</style>
</HEAD>
<BODY>
<A HREF=”javascript:void(0)”
http://
ONCLICK=”open(‘http://
1112.page.vu
1112.page.vu’’ ,’miniwin’,’toolbar=0,location=0,directories=0,
status=0,menubar=0,scrollbars=0,resizable=0,width=800,height=600')”> Página
da TTurma
urma 12 do 11º Ano </A>
</BODY>
Exercício 4 - PPergunta
ergunta o nome ao visitante.
<!— Inserir este script em qualquer parte da pagina, dentro de (body) —>
<BODY>
<SCRIPT LANGUAGE=”Javascript”>
<!—
name=window.prompt(“ Insira o seu nome?”,” ““);
document.write(“ <H3 align=center><font color =#006699> Olá “+name+ “
<br> Obrigada pela sua visita </H3> </font> </br>”)
//—>
</script>
</BODY>
Escola Secundária S. João do Estoril
<BODY>
<script language=”Javascript1.2">
<!—
if(navigator.appName == “Netscape”) {
document.write(‘<layer id=”clock”></layer><br>’);
}
if (navigator.appVersion.indexOf(“MSIE”) != -1){
document.write(‘<span id=”clock”></span><br>’);
}
function upclock(){
var dte = new Date();
var hrs = dte.getHours();
var min = dte.getMinutes();
var sec = dte.getSeconds();
var col = “:”;
var spc = “ “;
var apm;
if (12 < hrs) {
apm=”PM”;
hrs-=12;
}
else {
apm=”AM”;
}
if (hrs == 0) hrs=12;
if (min<=9) min=”0"+min;
if (sec<=9) sec=”0"+sec;
if(navigator.appName == “Netscape”) {
document.clock.document.write(hrs+col+min+col+sec+spc+apm);
document.clock.document.close();
}
if (navigator.appVersion.indexOf(“MSIE”) != -1){
clock.innerHTML = hrs+col+min+col+sec+spc+apm;
}
}
setInterval(“upclock()”,1000);
Escola Secundária S. João do Estoril
//—>
</script>
</BODY>
<HEAD>
<SCRIPT LANGUAGE=”JavaScript”>
<!— Begin
hexColor = [“0”,”1",”2",”3",”4",”5",”6",”7",”8",”9",”a”,”b”,”c”,”d”,”e”,”f ”];
function mOver() {
for (i = 0; i < 13; i++) {
setTimeout(‘document.myForm.button.style.background = “#’+hexColor[12-
i]+’0'+hexColor[12-i]+’0c0";’, i * 40);
}
}
function mOut() {
document.myForm.button.value = “ Clique Aqui “;
for (i = 0; i < 12; i++) {
setTimeout(‘document.myForm.button.style.background =
“#’+hexColor[i]+’0'+hexColor[i]+’0c0";’, i * 40);
}
}
// End —>
</script>
</HEAD>
<!— Inserir este script em qualquer parte da pagina, dentro de (body) —>
<BODY>
<form name=myForm>
<input type=button name=button value=” Clique Aqui “ onMouseOver=’mOver()’’
onMouseDown=’document.myForm.button.value=” Obrigado!! “‘
onClick=’window.location=”http://1212.page.vu”’ onMouseOut=’mOut()’>
</form>
</BODY>
Escola Secundária S. João do Estoril
<BODY>
<script language=”Javascript”>
<!—
document.write(‘A sua resolução é de ‘ + screen.width + ‘ X ‘ + screen.height + ‘
pixels.’)
//—>
</script>
</BODY>
<BODY>
<a href=”” onmouseover=”parent.location=’http://1211.page.vu’”>Turma 12 do
11º Ano (passe aqui o cursor)</A><SCRIPT LANGUAGE=”JavaScript”>
</BODY>
<!— Inserir este script em qualquer parte da pagina, dentro de (body) —>
<BODY>
<form name=”c937">
<p><select name=”c614" size=”1">
<option selected value=”http://1112.page.vu”>Turma 11 12</option>
<option value=”http://www.malhatlantica.pt/grupoinfsje/”>Página Grupo de
Informática</option>
<option value=”http://www.essje.pt”>Página da Escola </option>
<option value=”http://www.eusou.com/informatico/”>Eu sou Informático
</option>
Escola Secundária S. João do Estoril
</select>
<input type=”button” value=”Ver”
onClick=”location=document.c937.c614.options[document.c937.c614.selectedIndex].value”>
</p>
</form>
</BODY>
Exercício 10 - TTipo
ipo de tipo de browser
<!— Inserir este script em qualquer parte da pagina, dentro de (body) —>
<BODY>
<SCRIPT Language=”JavaScript”> document.write(navigator.appName +
navigator.appVersion) </script>
</BODY>
Exercício 11 - TTexto
exto colorido
<!— Inserir este script em qualquer parte da pagina, dentro de (body) —>
<BODY>
<h2>
<script language=”JavaScript1.2">
var message=” Página da Turma 12 do 12º Ano. Recomende está pagina a um
amigo!! “
var neonbasecolor=”blue”
var neontextcolor=”red”
var flashspeed=100 //in milliseconds
///Nao modificar o resto de script/////
var n=0
if (document.all){
document.write(‘<font color=”’+neonbasecolor+’”>’)
for (m=0;m<message.length;m++)
document.write(‘<span id=”neonlight”>’+message.charAt(m)+’</span>’)
document.write(‘</font>’)
//cache reference to neonlight array
var tempref=document.all.neonlight
}
else
document.write(message)
function neon(){
//Change all letters to base color
if (n==0){
for (m=0;m<message.length;m++)
Escola Secundária S. João do Estoril
tempref[m].style.color=neonbasecolor
}
//cycle through and change individual letters to neon color
tempref[n].style.color=neontextcolor
if (n<tempref.length-1)
n++
else
{
n=0
clearInterval(flashing)
setTimeout(“beginneon()”,1500)
return
}
}
function beginneon(){
if (document.all)
flashing=setInterval(“neon()”,flashspeed)
}
beginneon()
</script>
</h2>
</BODY>
Exercício 12 - TTexto
exto no status bar
bar..
<!— Inserir este script em qualquer parte da pagina, dentro de (body) —>
<BODY>
<SCRIPT>
<!— Hide from old browsers
message = “Página Principal da Escola Secundária S. João do Estoril ^” +
”Excelente^” + ”Magnífica ^” + ”Optima^” + ”Mude estas mensagens ...^” +
”^”
scrollSpeed = 25
lineDelay = 1500
// Nao modificar o resto de script //
txt = “”
function scrollText(pos) {
if (message.charAt(pos) != ‘^’) {
txt = txt + message.charAt(pos)
status = txt
pauze = scrollSpeed
}
else {
pauze = lineDelay
txt = “”
if (pos == message.length-1) pos = -1
Escola Secundária S. João do Estoril
}
pos++
setTimeout(“scrollText(‘“+pos+”’)”,pauze)
}
// Unhide —>
scrollText(0)
</SCRIPT>
</BODY>
Paula Cardoso Alcobia - 85 -
Curso Tecnológico de Informática - Aplicações Informáticas A - 11º Ano
<BODY>
<!—[if IE]>
<a class=”chlnk” style=”cursor:hand;font-weight:bold;color:#004080;font-
family:Verdana” HREF
onClick=”this.style.behavior=’url(#default#homepage)’;this.setHomePage(‘http://
1112.page.vu’);”> Defenir a página 1112 como homepage! </a>
<![endif]—>
</BODY>
<HEAD>
<script>
function highlight(which,color){
if (document.all||document.getElementById)
which.style.backgroundColor=color
}
</script>
</HEAD>
<BODY>
<p><a href=”http://1112.page.vu” onMouseover=highlight(this,’yellow ’)
onMouseout=”highlight(this,document.bgColor)”>Página da Turma 1112 </a>
<p><a href=” http://www.malhatlantica.pt/grupoinfsje/”
onMouseover=highlight(this,’yellow’)
onMouseout=”highlight(this,document.bgColor)”> Página do Grupo de Informática
</a>
<p><a href=” http://www.essje.pt” onMouseover=highlight(this,’yellow’)
onMouseout=”highlight(this,document.bgColor)”>Escola</a>
Escola Secundária S. João do Estoril
Exercício 15 - TTexto
exto animado tipo ondas.
<HEAD>
<script language=”JavaScript1.2">
/*
Texto animado tipo ondas
*/
//configure message
message=” Página da Turma 12 12!! Recomende esta página a um amigo.”
//animate text in NS6? (0 will turn it off)
ns6switch=1
var ns6=document.getElementById&&!document.all
mes=new Array();
mes[0]=-1;
mes[1]=-4;
mes[2]=-7;mes[3]=-10;
mes[4]=-7;
mes[5]=-4;
mes[6]=-1;
num=0;
num2=0;
txt=””;
function jump0(){
if (ns6&&!ns6switch){
jump.innerHTML=message
return
}
if(message.length > 6){
for(i=0; i != message.length;i++){
txt=txt+”<span style=’position:relative;’ id=’n”+i+”’>”+message.charAt(i)+”</
span>”};
jump.innerHTML=txt;
txt=””;
jump1a()
}
else{
alert(“Your message is to short”)
}
}
Escola Secundária S. João do Estoril
function jump1a(){
nfinal=(document.getElementById)? document.getElementById(“n0”) :
document.all.n0
nfinal.style.left=-num2;
if(num2 != 9){
num2=num2+3;
setTimeout(“jump1a()”,50)
}
else{
jump1b()
}
}
function jump1b(){
nfinal.style.left=-num2;
if(num2 != 0){num2=num2-3;
setTimeout(“jump1b()”,50)
}
else{
jump2()
}
}
function jump2(){
txt=””;
for(i=0;i != message.length;i++){
if(i+num > -1 && i+num <7){
txt=txt+”<span
style=’position:relative;top:”+mes[i+num]+”’>”+message.charAt(i)+”</span>”
}
else{txt=txt+”<span>”+message.charAt(i)+”</span>”}
}
jump.innerHTML=txt;
txt=””;
if(num != (-message.length)){
num—;
setTimeout(“jump2()”,50)}
else{num=0;
setTimeout(“jump0()”,50)}}
</script>
</HEAD>
<BODY>
<h2><div id=”jumpx” style=”color:blue”></div></h2>
Escola Secundária S. João do Estoril
<script>
if (document.all||document.getElementById){
jump=(document.getElementById)? document.getElementById(“jumpx”) :
document.all.jumpx
jump0()
} else
document.write(message)
</script>
</BODY>
Paula Cardoso Alcobia - 88 -
Curso Tecnológico de Informática - Aplicações Informáticas A - 11º Ano
Exercício 16 - TTexto
exto no cursor
<HEAD>
<STYLE>
.spanstyle {
position:absolute;
visibility:visible;
top:-50px;
font-size:12pt;
font-family:Verdana;
font-weight:bold;
color:steelblue;
}
</STYLE>
</HEAD>
<BODY>
<script>
var message=”Paula Cardoso Alcobia!!!”.split(“”);
var x;
var y;
var step=15;
var xpos=new Array();
var ypos=new Array();
function mouseMoved(e){
x = (document.layers) ? e.pageX : document.body.scrollLeft+event.clientX;
y = (document.layers) ? e.pageY : document.body.scrollTop+event.clientY;
}
function makesnake() {
var thisspan;
for (var i=message.length-1; i>=0; i—) {
xpos[i]=xpos[i-1]+step;
ypos[i]=ypos[i-1];
Escola Secundária S. João do Estoril
}
xpos[0]=x+step;
ypos[0]=y;
}
var timer = null;
function startSnake() {
for (var i in message) {
xpos[i]=-50;
ypos[i]=-50;
}
setTimeout(‘timer=setInterval(“makesnake()”,30);’,1000);
}
startSnake();
for (var i in message) {
document.write(“<span id=’span”+i+”’ class=’spanstyle’>”)
document.write(message[i]);
document.write(“</span>”);
}
if (document.layers) { document.captureEvents(Event.MOUSEMOVE); }
document.onmousemove = mouseMoved;
</script>
</BODY>
Escola Secundária S. João do Estoril
Exercício 17 - TTexto
exto no cursor (outra versão).
<HEAD>
<STYLE>
.spanstyle {
position:absolute;
visibility:visible;
top:-50px;
font-size:12pt;
font-family:Verdana;
font-weight:bold;
color:steelblue;
}
</STYLE>
</HEAD>
<BODY>
<script>
var message=” LOLLLLLLLLLLLLLL”.split(“”);
var x;
var y;
var step=-15;
var xpos=new Array();
var ypos=new Array();
function mouseMoved(e){
x = (document.layers) ? e.pageX : document.body.scrollLeft+event.clientX;
y = (document.layers) ? e.pageY : document.body.scrollTop+event.clientY;
}
function makesnake() {
var thisspan;
for (var i=message.length-1; i>=0; i—) {
xpos[i]=xpos[i-1]+step;
ypos[i]=ypos[i-1];
}
xpos[0]=x+step;
ypos[0]=y;
Escola Secundária S. João do Estoril
} else if (document.layers) {
thisspan = eval(“document.span”+i);
thisspan.left=xpos[i];
thisspan.top=ypos[i];
}
}
if (document.layers) { document.captureEvents(Event.MOUSEMOVE); }
document.onmousemove = mouseMoved;
</script>
Escola Secundária S. João do Estoril
<HEAD>
<form name=”Show”>
X <input type=”text” name=”MouseX” value=”0" size=”4"><br>
Y <input type=”text” name=”MouseY” value=”0" size=”4"><br>
</form>
</HEAD>
<BODY>
<script language=”JavaScript1.2">
<!— Begin
var IE = document.all?true:false;
if (!IE) document.captureEvents(Event.MOUSEMOVE)
document.onmousemove = getMouseXY;
var tempX = 0;
var tempY = 0;
function getMouseXY(e) {
if (IE) { // grab the x-y pos.s if browser is IE
tempX = event.clientX + document.body.scrollLeft;
tempY = event.clientY + document.body.scrollTop;
}
else { // grab the x-y pos.s if browser is NS
tempX = e.pageX;
tempY = e.pageY;
}
if (tempX < 0){tempX = 0;}
if (tempY < 0){tempY = 0;}
document.Show.MouseX.value = tempX;
document.Show.MouseY.value = tempY;
return true;
}
// End —>
</script>
Escola Secundária S. João do Estoril
</BODY>
<SCRIPT language=JavaScript>
dCol=’000000';//date colour.
fCol=’000000';//face colour.
sCol=’000000';//seconds colour.
mCol=’000000';//minutes colour.
hCol=’000000';//hours colour.
ClockHeight=50;
ClockWidth=50;
ClockFromMouseY=0;
ClockFromMouseX=100;
d=new
Array(“DOMINGO”,”SEGUNDA”,”TERCA”,”QUARTA”,”QUINTA”,”SEXTA”,”SABADO”);
m=new Array(“JANEIRO”,”FEVEREIRO”,”MARCO”,”ABRIL”,”MAIO”,
”JUNHO”,”JULHO”,”AGOSTO”,”SETEMBRO”,”OUTUBRO”,”NOVEMBRO”,”DEZEMBRO”);
date=new Date();
day=date.getDate();
year=date.getYear();
if (year < 2000) year=year+1900;
TodaysDate=” “+d[date.getDay()]+” “+day+” “+m[date.getMonth()]+” “+year;
D=TodaysDate.split(‘’);
H=’...’;
H=H.split(‘’);
M=’....’;
M=M.split(‘’);
S=’.....’;
S=S.split(‘’);
Escola Secundária S. João do Estoril
Face=’1 2 3 4 5 6 7 8 9 10 11 12';
font=’Arial’;
size=1;
speed=0.6;
ns=(document.layers);
ie=(document.all);
Face=Face.split(‘ ‘);
n=Face.length;
a=size*10;
ymouse=0;
xmouse=0;
scrll=0;
props=”<font face=”+font+” size=”+size+” color=”+fCol+”><B>”;
props2=”<font face=”+font+” size=”+size+” color=”+dCol+”><B>”;
Split=360/n;
Dsplit=360/D.length;
HandHeight=ClockHeight/4.5
HandWidth=ClockWidth/4.5
HandY=-7;
HandX=-2.5;
scrll=0;
step=0.06;
currStep=0;
y=new Array();x=new Array();Y=new Array();X=new Array();
for (i=0; i < n; i++){y[i]=0;x[i]=0;Y[i]=0;X[i]=0}
Dy=new Array();Dx=new Array();DY=new Array();DX=new Array();
for (i=0; i < D.length; i++){Dy[i]=0;Dx[i]=0;DY[i]=0;DX[i]=0}
if (ns){
for (i=0; i < D.length; i++)
document.write(‘<layer name=”nsDate’+i+’” top=0 left=0 height=’+a+’
width=’+a+’><center>’+props2+D[i]+’</font></center></layer>’);
for (i=0; i < n; i++)
Escola Secundária S. João do Estoril
document.write(‘</div></div>’)
document.write(‘<div id=”Os” style=”position:absolute;top:0px;left:0px”><div
style=”position:relative”>’);
for (i=0; i < S.length; i++)
document.write(‘<div id=”ieSeconds”
style=”position:absolute;width:16px;height:16px;font-family:Arial;font-
size:16px;color:’+sCol+’;text-align:center;font-weight:bold”>’+S[i]+’</div>’);
document.write(‘</div></div>’)
}
(ns)?window.captureEvents(Event.MOUSEMOVE):0;
function Mouse(evnt){
ymouse = ( n s ) ? e v n t . p a g e Y + C l o c k Fr o m M o u s e Y-
(window.pageYOffset):event.y+ClockFromMouseY;
xmouse = (ns)?evnt.pageX+ClockFromMouseX:event.x+ClockFromMouseX;
}
(ns)?window.onMouseMove=Mouse:document.onmousemove=Mouse;
function ClockAndAssign(){
time = new Date ();
secs = time.getSeconds();
sec = -1.57 + Math.PI * secs/30;
mins = time.getMinutes();
min = -1.57 + Math.PI * mins/30;
hr = time.getHours();
hrs = -1.575 + Math.PI * hr/6+Math.PI*parseInt(time.getMinutes())/360;
if (ie){
Od.style.top=window.document.body.scrollTop;
Of.style.top=window.document.body.scrollTop;
Oh.style.top=window.document.body.scrollTop;
Escola Secundária S. João do Estoril
Om.style.top=window.document.body.scrollTop;
Os.style.top=window.document.body.scrollTop;
}
DL.left=Dx[i] + ClockWidth*1.5*Math.cos(currStep+i*Dsplit*Math.PI/180);
}
currStep-=step;
}
function Delay(){
scrll=(ns)?window.pageYOffset:0;
Dy[0]=Math.round(DY[0]+=((ymouse)-DY[0])*speed);
Dx[0]=Math.round(DX[0]+=((xmouse)-DX[0])*speed);
for (i=1; i < D.length; i++){
Dy[i]=Math.round(DY[i]+=(Dy[i-1]-DY[i])*speed);
Dx[i]=Math.round(DX[i]+=(Dx[i-1]-DX[i])*speed);
}
y[0]=Math.round(Y[0]+=((ymouse)-Y[0])*speed);
x[0]=Math.round(X[0]+=((xmouse)-X[0])*speed);
for (i=1; i < n; i++){
y[i]=Math.round(Y[i]+=(y[i-1]-Y[i])*speed);
x[i]=Math.round(X[i]+=(x[i-1]-X[i])*speed);
}
ClockAndAssign();
setTimeout(‘Delay()’,20);
}
if (ns||ie)window.onload=Delay;
</SCRIPT>
</BODY>
Escola Secundária S. João do Estoril
<script> <!—
var now = new Date();
function fourdigits(number) {
return (number < 1000) ? number + 1900 : number;
}
today = days[now.getDay()] + “,” + date+ “ de “+
months[now.getMonth()] + “,” +(fourdigits(now.getYear())) ;
document.write(“” +today);
//—></script>
Escola Secundária S. João do Estoril
<SCRIPT language=JavaScript>
<!— Hide from old browsers
document.onmousedown = checkClick
if (document.layers){
document.captureEvents(Event.MOUSEDOWN)
}
function checkClick(ev) {
if (navigator.appName == “Netscape”){
i f ( e v.which != 1) {
alert(“Botão direito do rato desactivado.”)
return false }
}
else{
if (event.button != 1){
alert(“Botão direito do rato desactivado.”)
return false }
}
}
// —>
</SCRIPT>
http://www.w3schools.com/js/default.asp
http://www.scriptfacil.com/
Escola Secundária S. João do Estoril
Bibliografia
Livros:
- Fonseca, Dalila. Pacheco, Deolinda. Marques, Fernandes e Soares, Ricardo.
Curso Tecnológico de Informática - 11º Ano- Aplicações Informáticas A.
Porto Editora.
Páginas da web:
http://www.cm-braganca.pt/document/448112/503209.pdf-truque e dicas
http://www.deetc.isel.ipl.pt/programacao/TI/Documentacao/JavaScript/
ClientGuideJS13/index.htm
http://pt.wikipedia.org/
http://www.w3schools.com/js/default.asp
http://www.scriptfacil.com/
Escola Secundária S. João do Estoril