Introdução ao JavaScript
Uma técnica importante de programação é o uso de matrizes. A maioria das linguagens de
programação os suporta de algum modo. Talvez você já tenha atingido um ponto em que as
matrizes poderiam lhe ajudar ainda mais. Mas se você der uma olhada na documentação
fornecida pela Netscape vai notar que nada é dito sobre matrizes. O problema é que as
matrizes não existem em JavaScript! Mas existe um meio de cotornar esse problema, é
claro!
Em primeiro lugar, o que são matrizes? Nós poderíamos dizer que as matrizes são uma
junção de variáveis. Digamos que você queira juntar 10 variáveis. Você poderia
começar com as variáveis a, b, c ... Porém isto seria muito complicado. Particularmente
se você quisesse armazenar 100 variáveis ou mais. Se você tivesse uma matriz chamado
'MyArray' e dispusesse de 10 elementos, você poderia direcionar os diferentes elementos
com MyArray[1], MyArray[2], MyArray[3]... (muitas linguagens de programação começam com
o 0 como primeiro elemento, mas nós vamos começar com o 1 porque este é o modo que
passou a ser utilizado no JavaScript). Dessa maneira, se você quiser ter o número 17
como primeiro elemento, basta escrever MyArray[1]=17. Observe que você pode
trabalhar com as matrizes da mesma maneira como se faz com as variáveis normais. Mas
existem alguns aspectos adicionais. Se você quiser armazenar o número 17 em todos os
elementos, você deve escrever desse modo:
for (var i=1;i<11;i++) MyArray[i]=17<11;i++)
O comando for avisa ao computador quantas vezes o próximo comando deve ser executado. O laço (loop) de for se inicia com i=1. Primeiro o computador recebe o comando MyArray[1]= 17. Depois disso i é aumentado em 1 e então o comando passa a ser MyArray[2]= 17. i é aumentado até que ele atinja o valor 10. (The expression i<11 no laço de for tem que ser verdadeira; se i se tornar 11 então a expressão não será mais verdadeira. ) Agora eu vou lhe mostrar uma função para iniciar as matrizes. Ela foi discutida numa Mailing List de JavaScript.
function initArray() { this.length = initArray.arguments.length for (var i = 0; i < this.length; i++) this[i+1] = initArray.arguments[i] }
Você não precisa entender essa função, só precisa saber usá-la. Se você quiser criar uma matriz com três elementos, basta escrever: var MyArray= new initArray(17,18,19). Para 17,18 e 19 são assignados os elementos 1,2 e 3. Você poderia escrever outra seqüência qualquer na sua matriz se quisesse. Não importa a figura que estará sendo usada! var aloai= new initArray("Isso","e'","legal"). Não há problema também em se misturar figuras diferentes: var Mistura= new initArray(17,"oi",103).
Eu vou iniciar agora a matriz 'Mistura' e lhe mostrar o resultado:
Este é o script do resultado:
<script language="JavaScript"> <!-- Hide var Mistura= new initArray(17,"oi",103); document.write("Elemento No. 1: "+Mistura[1]+"<br>"); document.write("Elemento No. 2: "+Mistura[2]+"<br>"); document.write("Elemento No. 3: "+Mistura[3]+"<br>"); // --> </script>
Ontem eu escrevi um pequeno jogo, e então me deparei com um problema que talvez você também já tenha encontrado. Quando você quer saber como limpar uma janela, e procura na documentação fornecida pela Netscape, vai encontrar a função Javascript 'document.clear()'. Mas se você tenta implementar esta função não vai acontecer nada! Aparentemente a função document.clear() não funciona em nenhuma plataforma. Gordon McComb me passou então o seguinte script para se limpar janelas tal como eu pretendia.
document.close(); document.open(); document.write("<P>");
Você não precisa escrever document.write("<P>");. O importante é que você mande alguma coisa para a janela. Isso funciona perfeitamente também com frames.
Agora nós vamos ver um script que permite que você navegue através de diferentes documentos. Eu estou falando das funções back() e forward(). Se você tiver um link do tipo "back" na sua página isso não é a mesma coisa que o botão "back" do Navigator da Netscape. Eu, por exemplo, tenho alguns links do tipo "back" que funcionam normalmente como qualquer outro link. Mas eu sei que o usuário da minha página provavelmente provém de uma determinada página que tem um link com a minha. O botão de "back" do Netscape Navigator funciona dando um passo atrás na sua lista histórica, e isso é o que você também pode fazer com JavaScript. Pegue este link então para dar um passo atrás! O script que eu uso aqui é o que está aqui embaixo:
<html> <body> <FORM NAME="buttonbar"> <INPUT TYPE="button" VALUE="Back" onClick="history.back()"> <INPUT TYPE="button" VALUE="JS- Home" onClick="location='script.htm'"> <INPUT TYPE="button" VALUE="Next" onCLick="history.forward()"> </FORM> </body> </html>
Você pode escrever também history.go(-1) e history.go(1).