JavaScript 覚え書き

再帰関数かっこいい。

function f(n){
 if (n <= 1)
 return 1;
 return n * f(n -1);
}

でも、ひとつわかんないのが、3行目の return 文の挙動。2以上の数値が引数に代入された場合、4行目の return 文が実行されるんだけど(確認済み)、3行目の return 文は無視されるんだろうか? というか、else が無いので2以上の引数だったら undefined が返るように思うんだけど…。