Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.03.2010, 03:47
Аватар для Jekel
Профессор
Отправить личное сообщение для Jekel Посмотреть профиль Найти все сообщения от Jekel
 
Регистрация: 20.11.2009
Сообщений: 257

вызов функции из этой же функции
Возможна ли такая операция?
Именно вызов фунции из этой же функции...start();
function start(){
	if(XMLHttpRequestObjectTwo){
		XMLHttpRequestObjectTwo.open("GET", "reset.php?data=0");
		XMLHttpRequestObjectTwo.onreadystatechange = function(){ 
		if(XMLHttpRequestObjectTwo.responseText=="1"){
		    getData();
		}else{
		    start();
		}
		}
		XMLHttpRequestObjectTwo.send(null);
	}
}
Ответить с цитированием
  #2 (permalink)  
Старый 08.03.2010, 09:03
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Вызов функцией самой себя (рекурсия) — один из фундаментальных принципов программирования.
Конечно же JS разрешает такое.
Ответить с цитированием
  #3 (permalink)  
Старый 08.03.2010, 11:07
Аватар для subzey
Пионэр
Отправить личное сообщение для subzey Посмотреть профиль Найти все сообщения от subzey
 
Регистрация: 16.11.2009
Сообщений: 1,322

А вот тут написано, как.
Ответить с цитированием
  #4 (permalink)  
Старый 08.03.2010, 11:32
Аватар для Jekel
Профессор
Отправить личное сообщение для Jekel Посмотреть профиль Найти все сообщения от Jekel
 
Регистрация: 20.11.2009
Сообщений: 257

два XHR обьекта и их совместная работа
Ответить с цитированием
  #5 (permalink)  
Старый 09.03.2010, 08:35
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от B@rmaley.e><e
Вызов функцией самой себя (рекурсия) — один из фундаментальных принципов программирования.
Только в данном случае нет рекурсии.
Ответить с цитированием
  #6 (permalink)  
Старый 09.03.2010, 12:37
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

В чистом виде нет, но что-то от нее есть. Все-таки будучи единожды запущенной, она будет запускаться вновь и вновь, пока не получит нужный результат.
Ответить с цитированием
  #7 (permalink)  
Старый 09.03.2010, 13:14
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от B@rmaley.e><e
В чистом виде нет, но что-то от нее есть.
Что значит что-то есть? Рекурсия или есть или её нет. Тут её нет, т.к. start не сама себя вызывает, а её вызывает безымянная функция, которую start, опять же не вызывает, а только создаёт.

Сообщение от B@rmaley.e><e
Все-таки будучи единожды запущенной, она будет запускаться вновь и вновь, пока не получит нужный результат.
Странная логика.
Ответить с цитированием
  #8 (permalink)  
Старый 09.03.2010, 17:01
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Сообщение от Kolyaj
Что значит что-то есть? Рекурсия или есть или её нет. Тут её нет, т.к. start не сама себя вызывает, а её вызывает безымянная функция, которую start, опять же не вызывает, а только создаёт.
Листаем википедию
Цитата:
В программировании рекурсия — вызов функции (процедуры) из неё же самой, непосредственно (простая рекурсия) или через другие функции (сложная рекурсия), например, функция A вызывает функцию B, а функция B — функцию A. Количество вложенных вызовов функции или процедуры называется глубиной рекурсии.
Ответить с цитированием
  #9 (permalink)  
Старый 09.03.2010, 17:05
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

А теперь читаем моё сообщение ещё раз
Сообщение от Kolyaj
а её вызывает безымянная функция, которую start, опять же не вызывает, а только создаёт.
Ответить с цитированием
  #10 (permalink)  
Старый 09.03.2010, 18:34
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Функция вызывает метод send, который вызывает onreadystatechange.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вызов функции из другой функции.. ?? glutton Общие вопросы Javascript 3 21.08.2009 22:33
Вызов функции из отдельного скрипта Igor88 jQuery 6 10.04.2009 00:14
Вызов событий из js функции Destrifer Общие вопросы Javascript 5 29.11.2008 15:28
вызов функции, из JS генерируемого на сервере subaru AJAX и COMET 1 12.07.2008 13:44
Вызов функции из файла. Phoenix Общие вопросы Javascript 2 21.11.2007 22:49