Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.11.2016, 17:07   #81
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Говорят, чтобы понять рекурсию надо понять рекурсию.

Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 04.11.2016, 17:08   #82
spoon100500
Форумчанин
 
Аватар для spoon100500
 
Регистрация: 14.10.2016
Сообщений: 406
По умолчанию

Я понял так, что рекурсия-функция запускает саму себя бесконечно.
И что с этим делать?
Еду медленно, но верно!
spoon100500 вне форума Ответить с цитированием
Старый 04.11.2016, 17:09   #83
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Не запускать ее бесконечно, что ж еще.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 04.11.2016, 17:11   #84
spoon100500
Форумчанин
 
Аватар для spoon100500
 
Регистрация: 14.10.2016
Сообщений: 406
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Не запускать ее бесконечно, что ж еще.
Ни кто её не запускает бесконечно, все функции работают при событии.
Блин что не так то, куда смотреть?
Еду медленно, но верно!
spoon100500 вне форума Ответить с цитированием
Старый 04.11.2016, 17:12   #85
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Как это не запускает? Посмотрите свой код и подумайте (или отладчиком посмотрите) как он выполняется по шагово.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 04.11.2016, 17:15   #86
spoon100500
Форумчанин
 
Аватар для spoon100500
 
Регистрация: 14.10.2016
Сообщений: 406
По умолчанию

Если честно, вы видите где косяк?

Не было печали. Ладно буду дальше ковырять, искать рекурсию мать её)))
Еду медленно, но верно!
spoon100500 вне форума Ответить с цитированием
Старый 04.11.2016, 17:28   #87
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

... или посмотрите стек трейс после ошибки

Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 04.11.2016, 18:57   #88
come-on
Участник клуба
 
Регистрация: 21.10.2015
Сообщений: 1,361
По умолчанию

Цитата:
вы видите где косяк?
его не то что видят, его сразу и назвали и указали
come-on вне форума Ответить с цитированием
Старый 04.11.2016, 19:40   #89
pompiduskus
юзер как все
Участник клуба
 
Аватар для pompiduskus
 
Регистрация: 10.01.2012
Сообщений: 1,586
По умолчанию

Вообщем рекурсия это когда "что-то" вызываем "само себя" из "самого себя"

Если делать все правильно, то она помогеает решить задачи, если не правильно, то она переполняет стак (Stack), и программа завершается аварийно.

ПРИМЕР:
Код:

function myFunc(){
    myFunc(); // << вот это и есть рекурсия
}

function main(){

    myFunc(); // вызываем функции.

    var x = 5; // вот эта строка кода не сможет выполниться.

}
ps: посмотри на скрин, которй Alex11223 сделал!

Строка (6 => 19 => 26) это и есть рекурсия
<Дзен - Вся вселенная в тебе > | Резюме: https://ch3ll0v3k.github.io/CV/
pompiduskus вне форума Ответить с цитированием
Старый 05.11.2016, 07:04   #90
spoon100500
Форумчанин
 
Аватар для spoon100500
 
Регистрация: 14.10.2016
Сообщений: 406
По умолчанию

Без 19 строки все работает ок, сделал так, создал функцию myFunc4() аналог myFunc1() только без dtCalc() внутри и заменил ею 19 строку:
Код:
function myFunc4() {
     getValues(); rezult = (a * b * c).toFixed(2); printValues();
};

if (checkbox.checked){
  if (resultField.innerHTML == counts[0]) { rezult_out.innerHTML = (+rezult + s[0]).toFixed(2);} 
  else if (resultField.innerHTML == counts[1]) {rezult_out.innerHTML = (+rezult + s[1]).toFixed(2);} 
  else if (resultField.innerHTML == counts[2]) {rezult_out.innerHTML = (+rezult + s[2]).toFixed(2);} 
  else if (resultField.innerHTML == counts[3]) {rezult_out.innerHTML = (+rezult + s[3]).toFixed(2);}
  }
  else myFunc4();
};
Расплодил функций капец))) Как можно по другому сделать?
Еду медленно, но верно!
spoon100500 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
НЕ ЗАПУСКАЕТСЯ Алена2010 Общие вопросы C/C++ 1 27.10.2011 15:17
Не запускается kop Помощь студентам 1 22.10.2011 00:37
Не запускается пк... sew960i Компьютерное железо 11 21.11.2010 02:52
Не запускается программа((( katerina2508 Паскаль, Turbo Pascal, PascalABC.NET 4 23.06.2010 13:45
одна функция потока, а другая функция - член класса запускающего этот поток Дмитрий_Ч Общие вопросы C/C++ 2 27.09.2007 08:50