Javascript.RU

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

Самовызов функции, с передачей параметров, до выполнения условия
Здравствуйте!
Подскажите пожалуйста, как сделать так, чтобы функция вызывала сама себя, пока (a > b) ?
Ответить с цитированием
  #2 (permalink)  
Старый 02.09.2017, 13:35
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

function nnn(){
// некий код
  if(a > b) nnn();
}
nnn();
Ответить с цитированием
  #3 (permalink)  
Старый 02.09.2017, 13:58
Профессор
Отправить личное сообщение для DDim1000 Посмотреть профиль Найти все сообщения от DDim1000
 
Регистрация: 20.10.2016
Сообщений: 223

А если так?:

function nnn(b){
var a = 100;
  if(a > b) {b = b+1; nnn(); }
}
var b = 1;
nnn(b);

Как передавать значения b функции, пока станет b == a ?
Ответить с цитированием
  #4 (permalink)  
Старый 02.09.2017, 14:22
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

var a = 10, b=0;
function nnn(){
b++;
alert(b);
  if(a !== b) nnn();
}
nnn();


может вам обычный цикл нужен?
Ответить с цитированием
  #5 (permalink)  
Старый 02.09.2017, 15:19
Профессор
Отправить личное сообщение для DDim1000 Посмотреть профиль Найти все сообщения от DDim1000
 
Регистрация: 20.10.2016
Сообщений: 223

Есть кнопка, которая запускает таймер обратного отсчета. И время, до которого будет производиться отсчет, всегда разно. Оно берется из ранее созданных localstorage, по id.

function Unlock(idls)
{
              if (localStorage[idls]){
moment.locale('ru');
var UnlockRe = moment(localStorage[idls]).valueOf();


var DateTime = moment().valueOf();
var d  = UnlockRe - DateTime;

if (d > 0) 
   {
       $('#mes-re').attr("class","message-error").html('Повторить попытку можно будет через: '+moment(d).utc().format('HH:mm:ss')).slideDown(400);
    d > 0 && window.setTimeout(Unlock(), 300)	
   }else
   {
      ...
	return 'false';    
   }
                    }else
					  {return 'false';}
}


$('#button-re').click(function(){
	var rec = $("#rel").val();
	
	if (rec == "" || rec.length > 20)
	{
	    $("#reс").css("borderColor","#FDB6B6");	
	}else
	{
	    var Unlock = UnlockRemind(rec);
		if (Unlock == 'false')
		   { 
                    ...
                   }
	}
	});
Ответить с цитированием
  #6 (permalink)  
Старый 03.09.2017, 01:35
Аватар для Белый шум
Профессор
Отправить личное сообщение для Белый шум Посмотреть профиль Найти все сообщения от Белый шум
 
Регистрация: 19.01.2012
Сообщений: 505

Сообщение от DDim1000 Посмотреть сообщение
А если так?:
function nnn(b){
var a = 100;
  if(a > b) {nnn(b+1); }
}
var b = 1;
nnn(b);

P.S.: это называется рекурсией, а не самовызовом...
Ответить с цитированием
  #7 (permalink)  
Старый 03.09.2017, 08:13
Профессор
Отправить личное сообщение для Rasy Посмотреть профиль Найти все сообщения от Rasy
 
Регистрация: 17.06.2016
Сообщений: 509

Можно и самовызов с рекурсией
(function nnn(b) {
  console.log(b);
  var a = 100;
  if(a > b) {return nnn(b+1);}
})(1);
Ответить с цитированием
  #8 (permalink)  
Старый 03.09.2017, 16:03
Профессор
Отправить личное сообщение для DDim1000 Посмотреть профиль Найти все сообщения от DDim1000
 
Регистрация: 20.10.2016
Сообщений: 223

Спасибо большое!
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как запустить функцию из параметров функции? Untropee Общие вопросы Javascript 4 14.12.2016 15:03
выполнения функции после выполнения цепочки setTimeout wingmik Элементы интерфейса 1 20.08.2014 23:58
Цикл завершается не дожидаясь выполнения функции leonoff jQuery 2 13.08.2014 16:02
Поиск подходящей функции во время выполнения. Аналог getattr в Python NodeNerd Общие вопросы Javascript 2 23.10.2013 19:50
проблема с передачей параметров в функцию bartonom Элементы интерфейса 4 19.09.2011 12:41