[Visualizza/nascondi dettagli messaggio.] too much recursion

di il
1 risposte

[Visualizza/nascondi dettagli messaggio.] too much recursion

Buongiorno a tutti, sto riscontrando un problema con javascript. In breve ho scritto un piccolo script per il calcolo della data della pasqua dato l'anno. L'algoritmo e tutto quanto funzionano, l'unica cosa è nell'ultima funzione, che mi da l'errore nel titolo. Mi sapreste dare un'idea del perché? Vi posto il mio codice:
function retrieveData(){
	var anno = document.getElementById("anno").value.toString();
	return anno;
}

function calcolaData(){
	var anno = retrieveData();
	if(anno > 1582){
		var dataPasqua = 0;
		var a = anno % 19;
		var b = anno / 100;
		var c = anno % 100;
		var d = b/4;
		var e = b % 4;
		var f = (b+8)/25;
		var g = (b-f+1)/3;
		var h = (19*a +b -d - g + 15) % 30;
		var i = c/4;
		var k = c%4;
		var l = (32 + 2*e + 2*i - h - k)%7;
		var m = (a + 11*h + 22*l)/451;
		var n = (h + l -7*m + 114)/31;
		var p = (h + l -7*m + 114)%31;
		var mese = n;
		var giorno = p+1;
		giorno = parseInt(giorno);
		mese = parseInt(mese);
		var data = {giorno: giorno, mese: mese};
		document.getElementById("pasqua").innerHTML = "Pasqua "+anno+" cade il: " + data.giorno+" "+ associaNome(data.mese);
		var giorniMancanti = quantoManca();
		document.getElementById("mancanti").innerHTML = "Mancano " + giorniMancanti + "giorni"
		return data;
	} else {
		alert("Inserire un anno successivo al 1582");
	}
}

function cancella(){
	document.getElementById("pasqua").innerHTML = "";
}

function associaNome(mese){
	var YearMap = {1:"Gennaio", 2:"Febbraio", 3:"Marzo", 4:"Aprile", 5:"Maggio", 6:"Giugno", 7:"Luglio",
		 8:"Agosto", 9:"Settembre", 10:"Ottobre", 11:"Novembre", 12:"Dicembre"};
	return YearMap[mese];
}

function quantoManca(){
	var adesso = new Date();
	var pasqua = new Date(retrieveData(), calcolaData().mese, calcolaData().giorno, 0, 0, 0, 0);
	console.log(pasqua);
}
La funzione che da problemi è
quantoManca()
Grazie mille a tutti!

1 Risposte

Devi accedere o registrarti per scrivere nel forum
1 risposte