Самовызов функции, с передачей параметров, до выполнения условия
Здравствуйте!
Подскажите пожалуйста, как сделать так, чтобы функция вызывала сама себя, пока (a > b) ? |
function nnn(){
// некий код
if(a > b) nnn();
}
nnn();
|
А если так?:
function nnn(b){
var a = 100;
if(a > b) {b = b+1; nnn(); }
}
var b = 1;
nnn(b);
Как передавать значения b функции, пока станет b == a ? |
var a = 10, b=0;
function nnn(){
b++;
alert(b);
if(a !== b) nnn();
}
nnn();
может вам обычный цикл нужен? |
Есть кнопка, которая запускает таймер обратного отсчета. И время, до которого будет производиться отсчет, всегда разно. Оно берется из ранее созданных 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')
{
...
}
}
});
|
Цитата:
function nnn(b){
var a = 100;
if(a > b) {nnn(b+1); }
}
var b = 1;
nnn(b);
P.S.: это называется рекурсией, а не самовызовом... |
Можно и самовызов с рекурсией
(function nnn(b) {
console.log(b);
var a = 100;
if(a > b) {return nnn(b+1);}
})(1);
|
Спасибо большое!
|
| Часовой пояс GMT +3, время: 03:50. |