Всем привет !
вот моя первая тема.
Думал я разобрался, но сегодня изменил одно значение и у меня такой вопрос:
function pow1(x, n) {
return (n != 1) ? x*pow1(x, n-1) : x;
}
alert( pow1(5, 3) ); // 125
function pow2(x, n) {
return (n != 1) ? x*pow2(x, n-1) : n
}
alert( pow2(5, 3) ); // 25
Как интерпретатор переводит эту строку: x*pow1(x, n-1)
как я понимаю он делает это так:
5*(5, 3-1) и т.д. пока не дойдёт до n==1(то есть я думаю что там стоят скобки, но на самом деле так это?)
Но основываясь на этой логике бред получается какойто. Откуда например в pow2 выдаёт n=25 ?
с pow1 где в результате x = 125 ясно но и тут не доконца!.