Timkor

recursionFunction

Mar 7th, 2021 (edited)
356
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /* рекурсія = виклик функції із самої
  2.    себе
  3. */
  4.  
  5. // DRY - don't repeat yourself
  6.  
  7. // вивести ряд чисел від n до 0 включно
  8. function printDescendSequence(fromNumber) {
  9.     console.log(fromNumber + ' param value before recursion invoke');
  10.     if (fromNumber !== 0) {
  11.         printDescendSequence(fromNumber - 1); // рекурсивний виклик
  12.     }
  13.     console.log('that same param value in that same fn ' + fromNumber); // виведе ще раз значення параметру перед закінченням, вийде зростаюча послідовність
  14. }
  15.  
  16. let number = 5;
  17.  
  18. printDescendSequence(number);
  19.  
  20. /* те число, що отримує функція до параметру виводиться у кожні функції двічі: до рекурсивного виклику і після того, як управління повернеться до неї, тобто після того як закінчаться всі ті що будуть викликані для чисел менших Між виводами 0 не відбувається рекурсивного виклику бо до іфа не входимо, тому вони поряд виводяться. А коли закінчується функція що вивела нулі, то управління повертається до екземпляру функції, що її викликала, тобто до тої що вивела 1, і вона перед закінченням виводить другу одиницю, і ... так далі. Вибачте. */
  21.  
  22. // stack LIFO
  23. // last in, first out
Add Comment
Please, Sign In to add comment