Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.10.2014, 17:38
Новичок на форуме
Отправить личное сообщение для Jcomon Посмотреть профиль Найти все сообщения от Jcomon
 
Регистрация: 26.10.2014
Сообщений: 1

Помогите разобраться
sd='';
function factorial(n) {
alert ('s1='+n);
if(isFinite(n)&&n>0&&n==Math.round(n)){
if(!(n in factorial)) {
alert ('s2='+n);
factorial[n]=n*factorial(n-1);
alert ('s3='+n);
}
alert ('s4='+n);
sd+='|'+n+'='+factorial[n];
return factorial[n];
}
else return NaN;
}
factorial[1]=1;
alert (factorial(4)+'='+sd);

Срабатывают alert-ы s1 и s2 на 4,3,2,1 и почему после этого не
выходит из функции на return factorial[n], а переходит на
срабатывание alert-ов s3 и s4 с результатом 1,2,3,4 и тогда
завершается работа функции с общим результатом 24.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получение ответа сервера через iframe и xhr. Помогите разобраться. Arconas AJAX и COMET 0 26.02.2013 10:38
Подсчёт дней до конца акции - помогите разобраться со скриптом Chataine Общие вопросы Javascript 0 24.07.2011 14:48
Помогите разобраться с this Nigga2102 Элементы интерфейса 4 04.05.2011 18:28
Помогите пожалуйста разобраться Kupu4 Ваши сайты и скрипты 0 21.01.2010 10:44
Помогите разобраться с галереей IMAGIN yana_studio Общие вопросы Javascript 4 12.12.2009 17:24