Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* рекурсія = виклик функції із самої
- себе
- */
- // DRY - don't repeat yourself
- // вивести ряд чисел від n до 0 включно
- function printDescendSequence(fromNumber) {
- console.log(fromNumber + ' param value before recursion invoke');
- if (fromNumber !== 0) {
- printDescendSequence(fromNumber - 1); // рекурсивний виклик
- }
- console.log('that same param value in that same fn ' + fromNumber); // виведе ще раз значення параметру перед закінченням, вийде зростаюча послідовність
- }
- let number = 5;
- printDescendSequence(number);
- /* те число, що отримує функція до параметру виводиться у кожні функції двічі: до рекурсивного виклику і після того, як управління повернеться до неї, тобто після того як закінчаться всі ті що будуть викликані для чисел менших Між виводами 0 не відбувається рекурсивного виклику бо до іфа не входимо, тому вони поряд виводяться. А коли закінчується функція що вивела нулі, то управління повертається до екземпляру функції, що її викликала, тобто до тої що вивела 1, і вона перед закінченням виводить другу одиницю, і ... так далі. Вибачте. */
- // stack LIFO
- // last in, first out
Add Comment
Please, Sign In to add comment