- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Зачем быть уникальным в мире, где все можно скопировать
Почему так важна уникальность текста и как она влияет на SEO
Ingate Organic
VK приобрела 70% в структуре компании-разработчика red_mad_robot
Которая участвовала в создании RuStore
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
function expo( num, ex ) {
if( ex === 0 ) { return true; }
else { return num * expo( num, --ex ); }
}
console.log( expo( 2, 3 ) );
Не пойму на что перемножается 2?? Ведь ожидается значение из функции, а мы ничего не отдаем;
В итоге когда ex становится === 0 возвращается true; это особенность js возвращая true возвращать результат вычисления функции??
// 2 * expo( 2, 2)
// 2 * expo( 2, 1)
// 2 * expo( 2, 0)
// return true;
Можете схематично расписать, что происходит в функции, kак рекурсивно она отрабатывается??
function expo( num, ex ) {
if( ex === 0 ) {
console.log('expo(', num, ',', ex, '), return ', 1);
return 1;
} else {
var prevEx = ex;
var resExpo = expo( num, --ex );
var res = num * resExpo;
console.log('expo(', num, ',', prevEx, '),', 'return', num, '*', resExpo, '=', res);
return res;
}
}
console.log( expo( 2, 3 ) );
Результат:
expo( 2 , 1 ), return 2 * 1 = 2
expo( 2 , 2 ), return 2 * 2 = 4
expo( 2 , 3 ), return 2 * 4 = 8
8
А лучше откройте, например в браузере, инструменты разработчика. Поставьте точку останова и понаблюдайте как происходят вызовы.