Mi permetto di storcere il naso di fronte a questa sintassi: non ha molto senso secondo me.Originariamente inviato da Francesca
function _valori(){
this.user=""
this.pwd=""
this.stato=""
}
var dati = new Array()
dati[0] = new _valori()
dati[0].user = "fra"
dati[0].pwd = "fra"
dati[0].stato = "libero"
Prima dichiari un costruttore _valori e poi setti le sue proprietà in modo pubblico.
A questo punto tanto valeva scrivere:
...e fregarsene del costruttore _valori. (ricordati i punti e virgola finali!)codice:var dati = new Array(); dati[0] = new Object(); dati[0].user = "fra"; dati[0].pwd = "fra"; dati[0].stato = "libero";
La versione che avrei scritto io, però è questa:
Come vedi, con una riga per utente mi sistemo l'elemento nell'Array, perché nel costruttore User setto i valori passati in parametro come proprietà dell'oggetto creato.codice:function User(user, pwd, libero) { this.user = user; this.pwd = pwd; this.libero = libero; } var dati = new Array( new User("fra", "fra", true), new User("fre", "fre", false), new User("fri", "fri", false), new User("fro", "fro", true), new User("fru", "fru", true) );
Inoltre non è mai bellissimo usare stringhe per definire proprietà booleane, ecco perché io ho usato il true/false. Usando i booleani puoi scrivere delle if molto compatte e leggibili, tipo questa:
codice:if (dati[0].libero) alert(dati[0].user + " è libero.");![]()

Rispondi quotando