Introduzione a JavaScript
Part 5
ArrayS
In ogni liguaggio di programmazione, gli array
svolgono un compito molto importante. Se si esaminano i documenti
messi a disposizione da Netscape si ci accorge che gli arrays non
sono presi in considerazione. Il fatto � che gli arrays non
esistono in JavaScript! Quindi...
Se ad esempio si vuole assegnare il numero 17 ai primi 10
elementi dell'array MyArray[], per non riptere 10 volte la
stessa istruzione di assegnamento, occorrerebbe scrivere un ciclo
simile a questo:
for (var i=1;i<11;i++) MyArray[i]="17"
In javaScript per inizializzare un array si deve scrivere una function come questa:
function initArray() {
this.length = initArray.arguments.length
for (var i = 0; i < this.length; i++)
this[i+1]="initArray.arguments[i]" }
Non � molto importante capire come lavora questa function, ma � importante capire come utilizzarla. Se si vuole creare un array di tre elementi bisogna scrivere:
var MyArray= new initArray(17,18,19).
17,18,19 vengono assegnati agli elementi 1,2,3. Se invece si vuole memorizzare delle stringhe negli elementi dell'array la sintassi � la seguente:
var heyho= new initArray("This","is","cool").
� anche possibile fare degli assegnamenti 'misti':
var Mixedup= new initArray(17,"yo",103).
Inizializzamo ora l'array 'Mixedup' ed osserviamo l'output di questo script:
Ecco lo script per l'output:
<script language="JavaScript"> <!-- Hide var Mixedup= new initArray(17,"yo",103); document.write("Element No. 1: "+Mixedup[1]+"<br>"); document.write("Element No. 2: "+Mixedup[2]+"<br>"); document.write("Element No. 3: "+Mixedup[3]+"<br>"); // --> </script>
Netscape Navigator 3.0 Netscape 3.0 implementa new array: Il codice che segue crea un array di 25 elementi e assegna valori ai primi tre:
musicTypes = new Array(25) musicTypes[0] = "R&B" musicTypes[1] = "Blues" musicTypes[2] = "Jazz"
Se si vuole cancellare una finestra o un frame la documentazione di Netscape suggerisce di utilizzare la function 'document.clear()'. Ma se si prova ad implementare questa function non accade nulla !
A tale proposito Gordon McComb propone queste righe di codice:
document.close();
document.open();
document.write("<P>");
Non � importante scrivere document.write("<P>"); � importante inviare qualsiasi cosa alla finestra.
Se inserisco un link in un documento che mi porta alla pagina precedente non � la stessa cosa del tasto back del browser. Si pensi ad esempio ad una pagina HTML che viene puntata da pi� punti di pagine diverse, in questo caso dovrei inserire tanti link di back quante sono le pagine chiamanti. Con JavaScript � possibile accedere alla 'history list' del browser
Prova a cliccare qui.
Ecco il sorgente:
<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>
� anche possibile scrivere history.go(-1) e history.go(1).
Ultimo aggiornamento: