<script>
function sumTo(n)
{
console.log("bla 1");
if (n == 3) return n;
console.log("bla 2");
res=sumTo(n-1) + sumTo(n-1);
console.log("bla 3");
return res;
}
alert( sumTo(5) );
</script>
Не получается логически понять вывод в консоль некоторых моментов, а именно:
bla 1 // выполнится от 5 еще до проверки условия n==3 и до вызова sumTo(n-1)
bla 2 // выполнится от 5 после проверки условия n==3, но до вызова sumTo(n-1)
bla 1 // 1й вызов. выполнится от 4 еще до проверки условия n==3
bla 2 // выполнится когда же и предыдущий поскольку счет пошел дальше после проверки условия
bla 1 // 2й вызов. выполнится от 3 счет дальше не пошел запоролся условием
bla 1 // откуда?
bla 3 // откуда?
bla 1
bla 2
bla 1
bla 1
bla 3
bla 3