Рубрики
Без рубрики

JavaScript Recursion объяснена за 4 минуты

Вступите в Intro Bytesize JavaScript, где мы жажем управляемые куски кода. Сегодня мы ‘… Tagged с JavaScript, учебником, WebDev, начинающими.

Добро пожаловать в Bytesize JavaScript, где мы жуем на управляемых кусках кода. Сегодня мы будем говорить о рекурсии.

Рекурсия – это одна из тех вещей, которые вы много видите, когда вы изучаете js. Вопрос в том, вы понимаете, что это такое? Если вы этого не сделаете, я собираюсь дать два примера, которые надеемся, что это будет прояснить это. Если вы сделаете, посмотрите мои примеры в любом случае! Я уверен, что у вас есть еще одно представление, которое вы можете поделиться.

Если вы хорошо учитесь, просмотрев, проверьте видео версию этой статьи!

Что такое рекурсия

Рекурсия просто:

Функция, вызывающая себя снова и снова

Он будет вызывать себя, пока не произойдет одна из двух вещей:

  1. Мы достигаем предела стека вызовов.
  2. Мы определяем значение выхода.

Начнем с простого примера. Цель нашей функции состоит в том, чтобы увеличить число, пока мы не достигнем предела … затем остановитесь. Во -первых, давайте сломем это.

    function incrementer(ceiling,total) {
        total++
        return incrementer(ceiling, total)
    }
    incrementer(10,0)

Этот код будет работать до тех пор, пока не достигнет предела стека вызовов. Вероятно, не то, что мы хотим.

Теперь давайте добавим «OUT» для кода.

    function incrementer(ceiling,total) {
        total++
        if (total === ceiling) {return total}
        return incrementer(ceiling, total)
    }
    incrementer(10,0)

Довольно просто. Это не так много для нас, но показывает принцип, который есть:

Рекурсия – это функция, которая называет себя.

Теперь давайте посмотрим на более надежный пример.

Допустим, мы хотим узнать:

Какова сумма всех квадратных ценностей до заданного значения?

или по математике:

1 ^ 2 + 2 ^ 2 + 3 ^ 2 …. n ^ 2

Чтобы решить это, мы можем написать функцию, которая сделает следующее:

  1. Проверьте, добрались ли мы достигли нашего ограничителя
  2. квадрат значение
  3. добавить его в общее
  4. уменьшить значение
  5. Вернуться к шагу 1

Проверьте это.

    // Our function takes in two values: 
    // our limiter (ceiling) and a total that we will return (inititally set at 0)
    function getSumSquares(ceiling, total = 0) {
        // check to see if we have reduced our ceiling to zero. If so...escape!
      if (ceiling === 0) {
        return total;
      }
        // if we still have more work to do, do the work
      total += ceiling ** 2;
        // call yourself, but reduce our ceiling by one.
      return getSumSquares(ceiling - 1, total);
    }
    getSumSquares(10)

Функция собирается позвонить себе, пока наше условие не будет выполнено, в этом случае, потолок Отсюда и название рекурсии.

Надеюсь, это немного очищает вещи. Это только поверхность того, что вы можете сделать с рекурсией. Я включил некоторые ссылки ниже, чтобы обеспечить более подробную информацию.

Если у вас есть идеи для дополнительных мест JavaScript, вы хотели бы обсудить, застрелить мне комментарий.

Как всегда, счастливое кодирование!

Книга

Я пишу книгу о графическом дизайне и как она относится к разработке программного обеспечения! Если вы заинтересованы, зарегистрируйтесь здесь для обновлений.

https://digitalnutt.substack.com/p/coming-soon?r=34slo&utm_campaign=post&utm_medium=web&utm_source=copy

Музыка

Я также пишу музыку! Проверьте это здесь:

https://open.spotify.com/artist/1o6CGTMPjk1C0IdK9jV2H1

https://www.youtube.com/channel/UCqxQspCPTcE_wH0KBE5J-aw

https://music.apple.com/us/artist/modulo/1499420471

Поддерживать

Если вам нравится эта статья и хочешь увидеть больше, лучший способ сделать это, чтобы подписаться/следовать за мной здесь! Если вы чувствуете себя милостивым, вы можете Купи мне кофе Действительно

Это видео более конкретно для контура события, но охватывает то, что происходит, когда стек вызовов превышен около 7:00.

Оригинал: “https://dev.to/codenutt/javascript-recursion-explained-in-4-minutes-26oa”