Newsgroup: it.comp.lang.javascript
Titolo: richiamo di funzioni in prototype

ciao.
ho una classe e le funz A e B assegnate come prototipo alla classe.
se da B devo richiamare A, come faccio:
- A();
- this.A();
?
daniele

 ?
Se è una funzione assegnata al prototipo della "classe", significa che è un
metodo della "classe", ergo devi avere prima un'istanza di tale "classe".
-- 
~ Solo la stupidità umana può dare l'idea dell'infinito.

 
Ok, lo do per scontato. ma la richiamo con this?

 Ok, lo do per scontato. ma la richiamo con this?
Provare? No? :)
function DummySystem(){
	this.core="Rei";
	return this;
}
DummySystem.prototype.getCore=function(){
	return this.core;
}
DummySystem.prototype.tellMeCore=function(){
	alert(this.getCore() );
}
var ds=new DummySystem();
ds.tellMeCore();
E poi non ci capisco cosa ci sia di così strano, è come si è sempre fatto
(anche senza l'uso di prototype intendo).


 (anche senza l'uso di prototype intendo).
senza sì, ma è l'uso del this che è poco sfruttato da me... :-|

Zer0, su tuo esempio ho aggiunto "document"; perchè non funziona?
function DummySystem(){
	this.core="Rei";
	this.docPadre=null;
	return this;
}
DummySystem.prototype.getCore=function(){
	return this.core;
}
DummySystem.prototype.tellMeCore=function(){
	alert(this.getCore() );
	alert(this.docPadre);  //<-- null
}
var ds=new DummySystem();
ds.tellMeCore();
this.docPadre=document;

 
function DummySystem(){
	this.core="Rei";
	this.docPadre=null;
	return this;
}
DummySystem.prototype.getCore=function(){
	return this.core;
}
DummySystem.prototype.tellMeCore=function(){
	alert(this.getCore() );
	alert(this.docPadre);
}
var ds=new DummySystem();
ds.tellMeCore();
ds.docPadre=document;


DummySystem.prototype.getCore=function(){
	return this.core;
}

var ds=new DummySystem();
ds.tellMeCore();
ds.docPadre=document;

 this.docPadre=document;
Qui ti farà un puttanaio. perché se tu avessi effettivamente copiato il mio
codice avresti dovuto semplicemente fare:
	ds.docPadre=document;
Ricapitolando:
	var ds=new DummySystem();
	ds.tellMeCore(); // docPadre sarà null
	ds.docPadre=document;
	ds.tellMeCore(); // docPadre sarà object


> argh.
sě, sono un pirla!
ho messo il codice nem posto sbagliato (e mi son accorto tardi anche 
dell'errore this)
FUSTIGATE!

>}
sul libro da cui son partito però non c'è "return this". dovrebbe essere 
corretto senza, no? in fondo io assegno ad una variabile l'intera 
function.... (o no?!)

 in fondo io assegno ad una variabile l'intera function.... (o no?!)
Santa pazienza. No. Questo sarebbe assegnare ad una variabile l'intera
function:
	var pointer=DummySystem;
mentre così crei un'istanza:
	var ds=new DummySystem();
Daniele, cmq queste sono le basi. O mi stai regredendo, oppure hai bisogno
di una buona notte di sonno. :)


 
la notte di sonno ci starebbe bene.
per alcune info, purtroppo, ho delle lacune che dovrei colmare. col 
tempo. che non ho... :-S
:-)

 :-)
Beh, il tempo si trova. Almeno per quanto riguarda il proprio lavoro. Su,
su. :)
P.S.
Giusto per darti una visione un po' più completa, in ottica OOP sarebbe
stato più opportuno fare:
	ds.setOwnerDocument( document );
piuttosto che impostare direttamente la proprietà.
