<script>
alert(fact(5));
function fact(num){
return (num < 2) ? true :
num * fact(num - 1);
} </script>
Почему, на протяжении трех итераций, переменной num присваиваются значения 20,60,120?
То есть, почему, скрипт понимает num * fact(num - 1) как num *= fact(num - 1).
Интересует именно логика такого поведения.