Differenze tra le versioni di "JavaScript/Oggetti"

(sistemo)
 
== Gli oggetti in JavaScript ==
JavaScript permette di creare i propri [[JavaScript/Costruttori e prototipi|oggetti personalizzati]]; tuttavia noiper lavoreremoimparare soloè sumeglio quelliiniziare a lavorare sugli oggetti predefiniti del linguaggio.
 
Per creare una nuova istanza di un oggetto è necessario utilizzare una funzione chiamata '''costruttore'''. Di fatto, in realtà, per definire un oggetto prototipo è quindi sufficiente creare un nuovo costruttore.
</source>
 
Supponiamo di avere a che fare con un oggetto macchina implementato in JavaScript. Per inizializzare la variabile "<code>la_mia_macchina</code>" dobbiamo dunque richiamare la funzione costruttore del prototipo macchina, che per esempio potrebbe prevedere un parametro "modello" e "colore vernice":
Per fare un esempio con la nostra macchina:
<source lang=javascript>
var la_mia_macchina = new macchina ("UtilitariaFiat Bravo", "Rosso");
</source>
Nell'esempio, il costruttore dell'oggetto macchina prevederà come parametri il tipo e il colore della macchina.
 
=== Proprietà ===
nome_oggetto.nome_proprietà
</source>
Alcune proprietà possono essere di sola lettura, cioè il loro valore può essere letto ma non modificato: esse sono infatti legate a caratteristiche intrinseche dell'oggetto, oppure sono determinate dal prototipo in base a dati forniti in precedenza.
 
ConSe ad esempio riverniciamo la nostra macchina, ne cambiamo la proprietà "colore_vernice":
<source lang=javascript>
la_mia_macchina.colore_vernice = "Giallo"
</source>
Inoltre, supponiamo che il prototipo preveda la ricerca automatica della lunghezza della macchina in base al modello e che tale valore sia stato memorizzato nella proprietà di sola lettura "lunghezza" (infatti non è possibile intervenire sulla lunghezza della macchina, una volta scelto il modello):
<source lang=javascript>
<source lang=javascript>
alert('La mia macchina è lunga ' + la_mia_macchina.lunghezza + ' m!');
</source>
Come si potrà pensare, la proprietà <code>lunghezza</code> è di sola lettura.
 
=== Metodi ===
8 469

contributi