- Home
- Categorie
- Digital Marketing
- Web Marketing e Content
- Sintassi punto esclamativo !var.property
-
Sintassi punto esclamativo !var.property
Salve qualcuno saprebbe spiegarmi a cosa serve usare questo tipo di sintassi nel codice ?
Da qualche parte ho letto questo .....
on (release)
{
if (!nome.length)
{
gotoAndStop(2);
stato = "Inserire il nome";
}
else if (!cognome.length)
{
gotoAndStop(2);
stato = "Inserire il cognome";
etc................quei punti esclamativi cosa simboleggiano ?
many thanks
Gandalf
-
Quel punto esclamativo è il not logico.
Dunque,
ti faccio un esempio:ho una variabile di tipo Boolean:
var boo:Boolean=false;
per applicare una logica condizionale sul valore di boo posso fare così:
if(boo==true)
oppure if(boo==false)
utilizzando il not logico posso fare:
if(boo) cioè se boo è vero
if(!boo) cioè se boo non è veroadesso andiamo al codice che hai postato:
nome è sicuramente un Array e come sai in actionscript gli Arrays hanno una proprietà chiamata length (lo capisco d quello che nome è un Array)che restituisce il numero totale degli indici contenuti nell'Array (praticamente la sua lunghezza).
Ora, nella programmazione il false ha valore zero e di conseguenza tutti i numeri diversi da zero sono valutati true.In questa riga:
if (!nome.length) l'autore chiede a Flash se nome.length è uguale a false (cioè zero), in quel caso se nome.length è zero significa che l'array è vuoto e quindi gli fa fare delle determinate azioni( gotoAndStop(2);ecc ecc)
e così anche per la riga: else if (!cognome.length)
se invece la lunghezza dell'array non è zero (e quindi non è vuoto) quell'if lo giudica vero e quindi Flash non esegue il codice.
-
Oppure nome e cognome potrebbero essere due stringhe, e l'autore controlla se la variabile appunto nome:String contiene un valore oppure è undefined.
-
... semplicemente grandiosa la spiegazione
grazie mille !!!!!!
Gandalf