In un letterale oggetto del tipo:
entrambi i metodi (metodo1, metodo2) puntano alla stessa proprieta' (prop) e la allertano nel caso siano invocati. tutto ok fino a qui!Codice PHP:var O = {
prop: "ciao",
metodo1: function(){
alert(this.prop);
},
metodo2: function(){
alert(O.prop);
}
}
metodo1 e' pero' piu' elegante perche', allorche' uno decida di rinominare l'oggetto O, la referenza rimane alla proprieta' "prop" di QUESTO particolare oggetto (vedi uso del this!). Nel caso di metodo2 bisognerebbe invece editare anche il metodo e cambiare il nome dell'oggetto!
al contrario metodo2 e' piu' versatile (in realta' dipende dagli scopi) nel caso in cui esso sia registrato come event listener su un certo elemento del DOM. Se usassimo il metodo1 il this sarebbe riferito ora al nodo del DOM stesso e la proprieta' "prop" potrebbe non essere definita in relazione a tale elemento. yes? tutto chiaro?
La mia domanda quindi e':
ci sono altri motivi per preferire l'uso di una tecnica o l'altra per riferirsi alle varibili di istanza di un letterale oggetto? meglio this.nomeProp o nomeOggetto.nomeProp? Quali sono le altre casistiche da considerare?

Rispondi quotando