Strutture di controllo

Argomenti trattati: strutture sintattiche per scorrere le proprietà di un oggetto.

Esistono strutture di controllo che permettono di visualizzare attraverso un ciclo tutte le proprietà di un oggetto, e contemporaneamente il valore da esse assunto.

 L'istruzione for...in

L'istruzione for...in permette sostanzialmente di visualizzare qualunque proprietà in un oggetto o in un Array, che è considerato oggetto al momento della sua dichiarazione. La sintassi è la seguente:

for (variabile in oggetto)
{
   istruzioni
}

Un tipico esempio è dato dall'oggetto navigator, che rappresenta il browser dell'utente che si collega alla pagina. Si tratta naturalmente di un oggetto lato client, che sarà ulteriormente trattato nel dettaglio, benché sia chiara l'utilità di distinguere tra la casa produttrice e la versione di tali software, in particolare per le differenze con le quali i differenti browser supportano JavaScript.

var oggetto=navigator;
var informazione=" ";  

/* Come detto sopra, vogliamo vedere tutte le proprietà dell'oggetto Navigator, che verranno passate alla variabile informazione attraverso il ciclo for...in, del quale variabili oggetto e proprieta sono parametri */ 

for (var proprieta in oggetto)
{
       informazione= proprieta + "=" + oggetto[proprieta];
       document.write(informazione + "<br>");
}

/* In questo caso la variabile informazione corrisponde ad una concatenazione di stringhe, dove proprieta restituisce una stringa con il nome della proprietà dell'oggetto, e oggetto[proprieta]  restituisce il valore assunto da quell'oggetto.
In questo caso, oggetto[proprieta] assume una sintassi simile a quella della dichiarazione di un Array, o meglio come un Array delle proprietà di un oggetto.
In modo identico a quanto visto, questo ciclo vale anche per gli Array e per gli oggetti costruiti dall'utente.*/

visualizza l'esempio

L'istruzione with

In altri casi, è possibile voler determinare soltanto il valore di alcune delle proprietà di un certo oggetto. Si può utilizzare l'istruzione with:

with (nome_oggetto)
{
   istruzioni
}

Per valutare il nome specifico dell'applicazione software che l'utente usa per visualizzare un documento HTML, potremmo scrivere:

with(navigator
document.write("<p>" + appName + "<p>"+appVersion);

visualizza l'esempio

Nel controllo su oggetti in funzioni complesse, l'istruzione with consente dunque di non digitare nuovamente il nome dell'oggetto. Questo avviene sia per gli oggetti lato client, sia per gli oggetti costruiti appositamente dall'utente che per gli oggetti incorporati.


Torna all'inizio | Home