Рекурсия JavaScript

709
23 января 2017, 21:16

Не могу понять почему получаеться 8? Как программа работает? Что за чем выполняеться? В ступор вводит 3 строчка return 1; Почему не вернется просто число 1?)

function power(base, exponent) {
   if (exponent == 0)
     return 1;
   else
     return base * power(base, exponent - 1);
}
console.log(power(2, 3));
Answer 1

Любое число в нулевой степени, за исключением нуля, равно единице. Потому, если exponent == 0 (это в Вашем случаи степень), то функция возвращает 1, ну а в ином случаи возводит число base в степень exponent.

P.S. А говорят математика программистам не нужна:)

P.P.S. Про рекурсию хорошо рассказано тут https://learn.javascript.ru/recursion

READ ALSO
Не подключается скрипт на страницу Node.js

Не подключается скрипт на страницу Node.js

На странице indexejs не вызывется скрипт script

333
Подскажите скрипт что бы один объект преследовал другой используя фреймворк Phaser [требует правки]

Подскажите скрипт что бы один объект преследовал другой используя фреймворк Phaser [требует правки]

Подскажите скрипт что бы один объект преследовал другой используя фреймворк Phaser

255
Нужен ли сейчас underscrore?

Нужен ли сейчас underscrore?

Какие возможности underscore вы используете? Например, в нём есть функция eachЗачем она нужна, если теперь есть forEach, map в обычном js? Я так понимаю...

313
как отключить скролинг страницы, а на это событие поставить чтобы появлялся текст

как отключить скролинг страницы, а на это событие поставить чтобы появлялся текст

дойдя до определенного места на страницы нужно отключить scroll страницы(вниз), и в это время на прокрутку поставить событие чтобы появлялся...

369