Io l'avrei fatto cosi'

Nei commenti le mie considerazioni
Codice PHP:
var ilConto = new Conto(2000);

// Un po' di dati per fare dei test
ilConto.aggiungi(new Date(2008112), 'causale1'100);
ilConto.aggiungi(new Date(2008113), 'causale2'200);
ilConto.aggiungi(new Date(2008118), 'causale3', -100);
ilConto.aggiungi(new Date(2008125), 'causale4', -120);
ilConto.aggiungi(new Date(200822), 'causale5'300);
ilConto.aggiungi(new Date(200824), 'causale6'400);
ilConto.aggiungi(new Date(200825), 'causale7'123);

// Un paio di finestre con la stampa dei dati
alert(ilConto.stampaVersamenti());
alert(ilConto.stampaPrelievi());
alert("Il saldo attuale e': " ilConto.saldo); 

function 
Conto(s){
    
this.saldo s;
    
this.prelievi=0;    //Prelievi e Versamenti contengono il numero di prelievi o versamenti. Li inizializzo a 0
    
this.versamenti=0;
    
    
this.stampaVersamenti="";  //Inizializzo le funzioni... non e' necessario ma se il tuo prof usa cosi'...
    
this.stampaPrelievi="";  //Inizializzo le funzioni... non e' necessario ma se il tuo prof usa cosi'...
    
    // Questi array vanno inizializzati una volta sola e non ogni volta che aggiungi un'operazione
    // Altrimenti li svuoti ogni volta.
    // Quindi tiro fuori queste istruzioni dalla funzione aggiungi()
    
this.data = new Array();
    
this.importo= new Array();
    
this.causale = new Array();
        
    
this.aggiungi = function(d,c,i){
        
this.data.push(d);   //La funzione push server proprio ad aggiungere un elemento in fondo all'array
        
this.causale.push(c);
        
this.importo.push(i);
        
this.saldo += i;  // Aggiorno il saldo aggiungendogli l'importo
        
        // Non ho capito questo ciclo for e l'ho tolto
        //var m = 0
        //for (var i= 0; i < this.importo.length; i++)
        //if (this.importo[i] > 0)
        //    return m += this.importo[i]
        //else 
        //    return m -= this.importo[i];
        
        // se l'importo e' positivo aumento i versamenti di uno
        // altrimenti aumento i prelievi
        
if(i>=0)
            
this.versamenti++;
        else
            
this.prelievi++;
    }
    
    
this.stampaPrelievi= function (){
        var 
"";
        for(var 
0ithis.importo.lengthi++) {
            if(
this.importo[i] < 0)
                
m+= this.importo[i] + " " this.data[i] + " "  this.causale[i] +"\n";  // Aggiunti un po' di spazi e il carattere di ritorno a capo
        
}
        return 

    
}
    
    
this.stampaVersamenti = function (){
        var 
v="";
        for(var 
0i<this.importo.lengthi++) {
            if( 
this.importo[i] > 0)
                
v+= this.importo[i] + " " this.data[i] + " "  this.causale[i] +"\n";
        }
        return 
v;
    }