|
Il linguaggio, come abbiamo detto, è molto simile al
del C. Sulle caratteristiche comuni al C non entriamo nei dettagli: non sarà
difficile per il lettore documentarsi. I costrutti di controllo del ciclo
sono i noti for, if, while, eccetera. Ci concentriamo invece sulle differenze
tra JavaScript e il C.
Il costrutto for ha una variante, for...in, che cicla
tra le proprietà di un oggetto, ne vedremo un esempio più avanti. Notiamo
anche il costrutto with, simile ad un omonimo del Pascal, che consente di
accedere a metodi e campi di un oggetto senza dover specificare l’oggetto.
Per esempio:
a = Math.sin(12); // occorre qualificare sin()
with(Math) {
b = PI * 2;
c = sqrt(b) + cos(a); // non occorre qualificare cos()
}
Come abbiamo già visto le funzioni si dichiarano utilizzando
la keyword function, mentre le variabili si dichiarano utilizzando la keyword
var. Le variabili possono essere dichiarate all’interno di funzioni, e in
tal caso sono locali, oppure all’esterno e in tal caso sono globali. In realtà
ogni variabile utilizzata senza essere dichiarata è globale, ma naturalmente
è meglio dichiarare tutte le variabili all’inizio.
var g; // variabile globale
function f(p)
{
var l = p; // variabile locale
g = l; // assegna alla variabile globale
gg = l; // anche gg è globale ed è stata assegnata
}
La keyword this si riferisce sempre all’oggetto corrente.
Per esempio nella chiamata di un metodo, this è l’oggetto a cui il metodo
appartiene. JavaScript consente anche di creare nuove classi di oggetti: occorre
definire una funzione, che sarà il costruttore della classe. Il nome di questa
funzione è quello della classe degli oggetti che crea; questa funzione deve
solo preoccuparsi di istanziare le proprietà dell’oggetto. Per esempio:
function persona(nome, eta, sesso) {
this.nome = nome;
this.eta = eta;
this.sesso = sesso;
}
Un nuovo oggetto viene creato utilizzando l’operatore
new:
pino = new persona("Pino", 30, "M");
anna = new persona("Anna", 27, "F");
Il Navigator mette a disposizione del svariati oggetti,
che sono accessibili dal JavaScript. La lista degli oggetti è in
figura 2
. In figura 3
c’è uno script che permette di esaminare effettuare esaminare le proprietà
di un oggetto prescelto, basta cambiare il parametro della funzione esamina().
Math
navigator
password
radio
reset
select (options array)
string
submit
text
textarea
window
|
anchor (anchors array)
button
checkbox
Date
document
elements array
form (forms array)
frame (frames array)
hidden
history
link (links array)
location
|
Figura 2
<HTML>
<HEAD>
<SCRIPT>
function esamina(obj, name) {
var out = "<H2>"+name+"</H2>";
for (var i in obj) {
out += name + "." + i + " = " + obj[i] + "<BR>"
}
out += "<P><HR>"
return out;
}
</SCRIPT>
</HEAD>
<BODY>
<H1 ALIGN="CENTER">Oggetti JavaScript</H1>
<SCRIPT>document.write(esamina(navigator, "navigator"));</SCRIPT>
</BODY>
</HTML>
Figura 3
|