Corso di JavaScript

La funzione eval, i metodi bgColor ed fgColor

 

Nella precedente lezione abbiamo visto che la funzione eval(‘stringa’) restituisce dall’argomento (‘stringa’) il valore numerico. Solo in questo modo sarà possibile utilizzare questi valori e, ad esempio, sommarli tra di loro. Vedremo questa semplice operazione nel prossimo script:


<script language="Javascript1.1">
 var aStringa="25.82";
 var bStringa="51.65";
 document.write("<CENTER>");
  document.write("<PRE>");
   document.writeln("Abbonamento Autobus : "+aStringa+" euro");
   document.writeln("Abbonamento Ferrovie: "+bStringa+" euro");

   document.writeln("<hr width=224>");
   var aNumerico=eval(aStringa);
   var bNumerico=eval(bStringa);
   var somma=aNumerico+bNumerico;
   document.writeln("Totale..............: "+somma+" euro");
  document.write("</PRE>");
 document.write("</CENTER>");
</script>


Per visualizzare questo script cliccare qui.

In questo esempio sono state dichiarate due variabili aNumerico e bNumerico, a queste sono stati assegnati i valori numerici convertiti delle variabili aStringa e bStringa tramite la funzione eval().

var aNumerico=eval(aStringa);
var bNumerico=eval(bStringa);

Inoltre è stata dichiarata un’altra variabile: somma. Questa rappresenta la somma algebrica dei valori numerici di aNumerico e bNumerico.

var somma=aNumerico+bNumerico;

A questo punto le variabili avranno i seguenti valori:

aStringa=”25.82”        aNumerico=25.82
bStringa=”51.65”        bNumerico=51.65
                            somma=77.47


Non c’è bisogno di convertire la variabile somma (da numerico a carattere) in quanto questa operazione  viene automaticamente eseguita del metodo WRITE o WRITELN quando  incontra la variabile concatenata dai segni ‘+’ .

document.writeln("Totale..............: "+somma+" euro");


questo ci risparmia una riga di codice che sarebbe stata necessaria in quasi tutti gli altri linguaggi di programmazione.

In Javascript possiamo utilizzare più direttive insieme

A seconda delle necessità è possibile inserire comandi <HTML> all’interno del metodo WRITE o WRITELN.
Ma, per quale motivo dovremmo fare questa operazione?
Non sarebbe più conveniente utilizzare i comandi HTML, senza scomodare Javascript?
Un grande vantaggio di utilizzare i tag <HTML> all’interno del codice Javascript è senza dubbio legato alla gestione delle variabili, dei cicli e delle strutture di controllo, che consentono di avere dinamicità nella creazione delle pagine web. Non dimentichiamo che HTML è solo un linguaggio di formattazione e per eseguire una semplice iterazione è necessario inserire del codice Javascript, facendolo interagire con gli oggetti del documento.

Per il momento cerchiamo di migliorare il layout dell’esempio precedente utilizzando due nuovi metodi:
Il metodo bgColor ed il metodo fgColor.

<script language="Javascript1.1">
 var aStringa="25.82";
 var bStringa="51.65";
  document.bgColor="lightblue";
  document.fgColor="#0000FF";
  document.write("<CENTER>");
  document.write("<H2>Legenda</H2>");
  document.write("<PRE>");
   document.writeln("Abbonamento Autobus : "+aStringa+" euro");
   document.writeln("Abbonamento Ferrovie: "+bStringa+" euro");
   document.writeln("<hr width=224>");
   var aNumerico=eval(aStringa);
   var bNumerico=eval(bStringa);
   var somma=aNumerico+bNumerico;
   document.writeln("Totale..............: "+somma+" euro");
  document.write("</PRE>");
 document.write("</CENTER>");
</script>


Per visualizzare questo script cliccare qui.

Rispetto al precedente esempio sono state aggiunte le seguenti righe di codice:

...
document.bgColor="lightblue";
document.fgColor="#0000FF";
...
document.write("<H2>Legenda</H2>");
...

Commentiamole come al solito, anche se queste istruzioni sono veramente intuitive da capire e semplici da utilizzare.


I metodi bgColor e fgColor

I metodi bgColor e fgColor appartengono all’oggetto DOCUMENT. Il loro compito è di modificare rispettivamente il colore dello sfondo ed il testo di un documento.

La sintassi è la seguente utilizzando le stringhe:

document.bgcolor=”blue”;      document.fgcolor=”white”;


Per conoscere tutti i colori standard che è possibile utilizzare vi consiglio di dare uno sguardo a questo indirizzo:

http://developer.netscape.com/docs/manuals/js/client/jsref/colors.htm

Utilizzando i  numeri esadecimali la sintassi è la seguente:

document.bgcolor=”#000072”;      document.fgcolor=”#FFFFFF”;

anche in questo caso abbiamo realizzato il testo di colore bianco (“#FFFFFF”) su sfondo blu (“#000072”).
Cerchiamo di comprendere meglio questa importante notazione numerica.

La notazione esadecimale dei colori in Javascript

Per quanto riguarda i colori espressi in notazione esadecimale, viene adottata una tecnica definita RGB (Red,Green,Blue). Di conseguenza la prima coppia rappresenta l’intensità del colore rosso, la seconda coppia rappresenta l’intensità del colore verde, la terza ed ultima coppia rappresenta  l’intensità del colore blu.
Le intensità vanno da  ‘00’, che significa assenza di colore, ad ‘FF’ che significa massima intensità di colore.

Miscelando le intensità o le tonalità di questi colori, detti primari, abbiamo questo incredibile risultato:
16777216=256*256*256=FF*FF*FF 
(dove  FF esadecimale corrisponde al numero 255 decimale, da 0 a 255 esistono 256 possibili tonalità)

ovvero 16 milioni di colori disponibili.

Nella prossima lezione vedremo come vengono trattate le immagini in Javascript, attraverso un effetto che è ancora molto utilizzato dai webmaster per dare dinamicità alla navigazione degli utenti attraverso il mouse: l’effetto rollover.

 

Torna all'indice Generale del corso di Corso di JavaScript di Software Planet