
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: