Newsgroup: it.comp.lang.javascript
Titolo: getter e setter non capisco !

Sto cercando di capire come usare getter e setter, soprattutto con una
sintassi umana :-) Ho letto :
http://devedge.netscape.com/library/manuals/2000/javascript/1.5/guide/obj.html#1018325
ho guardato sui ng dove ho trovato vari tipi di sintassi, alcune con
__defineGetter__ __defineSetter__ 
Ho le idee confuse :-) Una cosa di questo genere non è fattibile?
<textarea cols="50" rows="10" name="out" id="out"></textarea>
<script language="JavaScript">
 function Addizione() {
        this.numero = 0;
 
 
        this.numero getter = function () {
                /*se metto return this.numero mi dice che ci sono troppe
recursion
                così invece funziona, cioè quando cerco il valore di numero
mi dà 5 e non 0 */
               return 5
        };
 
        this.numero setter = function(add) {
                //Troppe recursioni !
                return (this.numero += add);
        };
 
}
var guiOut = document.getElementById('out');
myObj = new Addizione();
myObj.numero = 10;
guiOut.value = myObj.numero; 
</script>
Faser
-- 
FABIO SERRA
*Questo testo deve essere valutato secondo il senso della RFC-3*
Per rispondere in e-mail sostituire "invalid" con "faser"
--------------------

                 return (this.numero += add);
Scusa, ma che ci vedi di strano?
i setter/getter sono una funzione. Se le usi in quel modo diventano 
ricorsive, e una funzione ricorsiva senza condizione di uscita va in 
loop.
-- 
C'ya,
ZER0
  :. job profile - coder.gfxer.webDesigner
"When you have eliminated the impossible, whatever remains,
however improbable, must be the truth." (S.H.)

loop.
oplà...ok....ma insomma come devo fare per accedere direttamente ad una
proprietà con la sintassi normale, ma questa passa per i setter and getter?
cioè io voglio
myObj = new Addizione;
myObj.numero = 4;
o
alert(myObj.numero);


 alert(myObj.numero);
Questa sintassi la puoi benissimo fare. Quel che ti sfugge e' che i 
getter/setter sono una sorta di wrapper (mai usato le property 
let/get/set di VB? Funzionano allo stesso modo). Il valore effettivo sta 
da un'altra parte, ovviamente. Altrimenti incappi nel problema della 
recursione (ovvio, sono funzioni).
Esempio:
<script>
function Addizione(){
	this._numero=0;
	this.numero getter= function(){return this._numero}
	this.numero setter= function(num){this._numero+=num}
}
var myObj=new Addizione();
	alert(myObj.numero);
	myObj.numero=4;
	alert(myObj.numero);
	myObj.numero=2;
	alert(myObj.numero);
</script>
P.S.
Ma tu di dove sei?


Ma tu di dove sei?
Milano.
Ciao.


 Milano.
Mhm.. ci deve essere inflazione.. :) Appro', per metter mano a qualcosa 
in XUL come si diceva tempo addietro per il newsreader? Come si rimane? 
Ci sentiamo by mail?


Ci sentiamo by mail?
Iscriviti alla mailing list, stai tranquillo, non c'è traffico :-(
http://www.cfmentor.com/mailman/listinfo/xulex
così magari riusciamo a tirare dentro qualcuno. Io non sono per le cose in
diecimila, ma tre o quattro sarebbe perfetto.


così magari riusciamo a tirare dentro qualcuno.
Io sono sempre li in ascolto ;-)
-- 
Rhymes
rhy...@NOSPAMmyself.com

 diecimila, ma tre o quattro sarebbe perfetto.
Just joined in!
Per quel po' che potro' contribuire :-))
-- 
Ciao, Riccardo
------------------------------------------------------------------------
http://www.jsdir.com
 ---- Bring Your Site To Life!!!!
------------------------------------------------------------------------
http://www.dev2dev.it
 - La rete ha connesso nuove particelle - D2D006
------------------------------------------------------------------------
Per rispondere: togli il PUNTO e metti un .

Per quel po' che potro' contribuire :-))
Sherzi...i guru Javascript che si riuniscono :-)
Comunque ritengo che a chi piace e conosce bene Javascript, Mozilla/XUL sia
il miglior investimento che possa fare, per chi invece non lo conosce bene
è il modo migliore per impararlo a fondo.
Ciao.
Faser
-- 
FABIO SERRA
*Questo testo deve essere valutato secondo il senso della RFC-3*
Per rispondere in e-mail sostituire "invalid" con "faser"
http://www.cfmentor.com
--------------------

 è il modo migliore per impararlo a fondo.
Mi hai fatto venire un'idea... ti scrivo in mail per i WorkShop al 
webbit.03


 webbit.03
Finalmente hai trovato lo spunto? :P


 Finalmente hai trovato lo spunto? :P
'zomma...
