Warum würde eine Rückkehr nicht definiert, sondern Konsole.log int zurückgeben?

So, ich habe die folgende Funktion:

var multiplyT = function(a, b, acc) {

    if (b == 0) {
        console.log("BASE CASE: ", acc);

        return acc;
    } else {
        b--;
        acc = acc + a;
        console.log("NOT THE BASE CASE: ", a,b,acc);
        multiplyT(a, b, acc);
    }

}

Es wird aufgerufen mit:

console.log(multiplyT(5,3,0));

Und gibt diese:

NOT THE BASE CASE:  5 2 5
NOT THE BASE CASE:  5 1 10
NOT THE BASE CASE:  5 0 15
BASE CASE:  15
undefined

Als Ausgabe. Was ich bin verwirrt über, warum die acc geben würde, den richtigen Wert für die Konsole.melden Sie aber "undefined" nach dem, was zurückgegeben wird.

InformationsquelleAutor Bren | 2015-05-22
Schreibe einen Kommentar