1
JavaScript函數遞歸測試。意外的結果是測試打印的字符串「PRINTS」在Firefox控制檯中顯示兩次。我沒有看到''返回'打印''被擊中兩次。爲什麼字符串「PRINTS」在控制檯中顯示兩次,希望顯示一次。遞歸測試
在stackoverflow的代碼插入功能我跑了代碼,它顯示打印五次,但Firefox控制檯兩次。我在想,因爲該行在遞歸調用之後,它應該只打印一次打印。有五個遞歸調用,爲什麼這回到原來的調用五次,代碼的最後一行console.log(isEven(11));
function isEven (number) {
if (number == 0) {
return "even";
}
else if (number == 1) {
return "odd";
}
number = number - 2;
console.log (number);
//the if statements return goes to the recursive call, not outside funct call
console.log(isEven(number));
return "PRINTS";
}
console.log (isEven(11));
isEven返回執行後繼續。 –
如果你想在返回「PRINTS」的行之前返回一些東西,你可以調用if(number%2 == 0)返回「even」;否則返回「奇數」;否則遞歸將繼續。 –