toaste: Quersumme + Rekursion = undefined

Beitrag lesen

Hallo Zusammen

Wieso gibt folgendes Script als return value "undefined"???
Ich möchte gerne solange die Quersumme berechnen bis die Zahl nur noch eine Stelle hat.
Wenn ich die Variable temp vor dem return ausgebe ist alles ok, jedoch nach dem return ist sie "undefined". eigentlich sollte Sie 9 sein.

alert(QSum(389133));

function QSum(numb)
{
   var qsum = 0;
   numb += "";                               // to string
   var digits = numb.split('');              // split numbers
   for ( var i = 0; i < digits.length; i++ ) // add together
      qsum += parseInt(digits[i]);

var temp = qsum.toString();               // to string
   if (temp.length > 1)                      // do it again
   {
      QSum(qsum);
   }
   else
   {
//    alert(temp)                      // variable OK!
      return temp;                     // ?????????
   }
}