function f(c) {
c--;
document.write("<p>" + c);
if (c != 0) {
f(c);
}
document.write("<p>" + c);
}
f(3);
Output: 2 1 0 0 1 2
Вопрос, почему функция не заканчивается после второго нуля ("0") а продолжает печатать 1 и 2 ?
Давайте заменим переменные их реальными значениями и посмотрим, что получится.
Итак, вызов f(3); разворачивается в такое
3--;
document.write("<p>" + 2);
if (2 != 0) {
2--;
document.write("<p>" + 1);
if (1 != 0) {
1--;
document.write("<p>" + 0);
if (0 != 0) {
}
document.write("<p>" + 0);
}
document.write("<p>" + 1);
}
document.write("<p>" + 2);
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости