この再帰関数で何が起こっているのか理解できません。 なぜy ===未定義ですか?再帰関数で関数が未定義に戻る理由を理解しようとしています
function f(num){
if(num !== 10){
f(num + 1);
} else {
return num;
}
}
var y = f(0);
console.log(y);
私は右のその返された値の前に "NUM" をログインした場合は、ここでは10 ですjsfiddleです: https://jsfiddle.net/
に到達したとき以外は何も返さない' F(NUM + 1) ' – Pointy
とき'あなたの関数は何も返さないのでnum!== 10'は 'true'です。 'return'ステートメントはありません===は' undefined'を返します。 –
'f(num + 1)' –