giovedì 1 maggio 2014

Prototipi e proprietà

Dunque le istanze prendono i valori delle proprietà dal prototipo, a meno che questi valori non vengano definiti nell'istanza.
Faccio la prova.
function Oggetto(){
 this.prop;
}

var Istanza=new Oggetto();


alert(Istanza.prop);

Oggetto.prototype.prop="Proprieta definita nel prototipo";

alert(Istanza.prop);
  1. Per prima cosa, creo un'Istanza.
  2. Mostro il valore della proprietà.
  3. Modifico il valore della proprietà nel prototipo.
  4. Mostro di nuovo il valore della proprietà
La prima volta ottengo un valore nullo, la seconda volta ottengo "Proprieta definita nel prototipo".
Adesso do direttamente un valore nel costruttore:
function Oggetto(){
 this.prop="Prima definizione nel prototipo";
}

var Istanza=new Oggetto();


alert(Istanza.prop);

Oggetto.prototype.prop="Seconda definizione nel prototipo";

alert(Istanza.prop);
In questo caso, la proprietà è sempre uguale a "Prima definizione nel prototipo".

Perché???

Nessun commento:

Posta un commento