Сообщение от rexrjd
|
Не могли бы вы пояснить почему переменная res уменьшается после первого самовызова функции.
|
Вот тебе более наглядная иллюстрация
function persistence(num,res) {
var N = String(num);
var sum = 1;
alert('start '+N);
for(var i = 0; i<N.length; i++){
sum = sum * Number(N.charAt(i));
if(String(sum).length != 1) {
res++;
alert('for '+res);
persistence(sum,res);
}
}
alert('return '+res+' num= '+num);
return res;
}
a = persistence(39,0);
Она не "уменьшается", она именно этому равна в самой первой итерации.
Если ты хочешь иметь некий счетчик, то это делается не так.