Informazioni globali nelle pagine HTML Argomenti Evoluzione delle architetture di elaborazione. Architettura e funzionalità delle reti. Protocolli di comunicazione. Concetti di base sulle reti: indirizzi, accesso remoto, domini.
Informazioni globali Alcune funzioni usano informazioni globali (visibili in tutta la pagina html) Esempio: calcola(), oppure controllaDati() prendono le informazioni dai campi del modulo, usando un percorso: document.modulo.quantita.value
Variabili globali Se una variabile è definita fuori di qualunque funzione, essa è globale Può essere usata dovunque nella pagina Anche dentro qualunque funzione Che non dichiari un'altra variabile con lo stesso nome Eventuali modifiche sono permanenti
Esempi già visti di variabili globali Moduli (esercitazione 3): prezzo, quantita Rollover (esercitazione 4): mappaGenerale, aula6, aula11,... Notiziario (esercitazione 5): L'array notizie e la variabile i
Esempio Cambio automatico di immagini a rotazione Utile per: Annunci pubblicitari a rotazione Immagini animate Galleria di fotografie
<HEAD> <SCRIPT …> Esempi <HEAD> <SCRIPT …> var serieImmagini = new Array(3); serieImmagini[0] = new Image (200,150); serieImmagini[0].src = "parabola.gif"; serieImmagini[1] = new Image (200,150); serieImmagini[1].src = "montecitorio.gif"; serieImmagini[2] = new Image (200,150); serieImmagini[2].src = "composizione.gif"; var indice = 0;
Esempi (2) L’array serieImmagini e l’intero indice sono variabili globali Ogni funzione le può usare e modificare
Esempio: immagini a rotazione function cambiaBanner() { 1. Passa al prossimo indice se indice è all’ultimo, riparti da 0 2. Cambia l’immagine con quella di posizione indice in serieImmagini 3. Ricomincia, “tra un po’ di tempo” } algoritmo
Esempio: immagini a rotazione function cambiaBanner() { if (indice < 2) indice=indice+1; else indice = 0; document.banner.src = serieImmagini[indice].src; setTimeout("cambiaBanner()",1000); return true; } indice è globale serieImmagini è globale
setTimeout (comando, tempo) setTimeout() è una funzione predefinita in Javascript Ha bisogno di DUE argomenti: setTimeout (comando, tempo)
setTimeout (comando, tempo) Il comando (di solito) è una chiamata di funzione - es. “cambiaBanner()” Il tempo è l’attesa in millisecondi prima che venga eseguito il comando - es. 1000 1 secondo (1000 millisecondi)
Nella pagina... <BODY onLoad='cambiaBanner()'> <IMG ALIGN="left" NAME="banner" SRC="parabola.gif" WIDTH="200" HEIGHT="150">
Variabili locali Quando una variabile è dichiarata in una funzione essa è locale alla funzione Può essere usata solo nelle istruzioni della funzione stessa Il suo valore si perde quando la funzione termina Ecco perché la variabile i deve essere globale in cambiaBanner()
Esempio di variabili locali function calcola() { var prezzo = parseFloat(document.modulo.prezzoUnitario.value); var quantita = parseInt(document.modulo.quantita.value); var totale = prezzo*quantita; var iva = totale*20/100; var totaleConIva = totale + iva; document.modulo.totale.value = totale; document.modulo.iva.value = iva; document.modulo.totaleConIva.value = totaleConIva; return true; } var. locali
Conseguenze Se si cerca di usare la variabile locale fuori della funzione dove è dichiarata, si ottiene “undefined” Conseguenze positive: si può dichiarare lo stesso nome in funzioni diverse gli omonimi locali non interagiscono