Předmět Autor Datum
Rekurze jde obvykle přepsat s použitím zásobníku. Ale co tě k takové potřebě vede?
Wikan 11.01.2020 18:54
Wikan
Rekurze jde obvykle přepsat s použitím zásobníku. Netuším jak to myslíš Ale co tě k takové potřebě…
JSL 11.01.2020 19:00
JSL
No to je zrovna rekurze.
Wikan 11.01.2020 19:04
Wikan
Aha, to jsem našel ale nefunguje to a nehází to ani žádnou chybu.
JSL 11.01.2020 19:11
JSL
Co jsi našel a co nefunguje?
Wikan 11.01.2020 19:12
Wikan
Ten kousek kódu jsem našel jako ukázku. Tady je jen hrubý nástřel kódu var a = 0 ; var b = 0 ; (f…
JSL 11.01.2020 19:24
JSL
No a co je array? Nikdo to tam nemáš definované. Funkci voláš s parametry a, b, ale nikde je nepouží…
Wikan 11.01.2020 19:27
Wikan
To bylo jen pro představu, nejsem u pc a z hlavy nevím jak to tam mám. Tohle třeba taky nefunguje, p…
JSL 11.01.2020 19:56
JSL
var i=0; (function test(i){ console.log(i); if(i<10){i++;test(i);} })(i);
Wikan 11.01.2020 19:59
Wikan
Díky moc, ta var i=0; je ale přeci globální, ne? Proč není přístupná v té funkci?
JSL 11.01.2020 20:07
JSL
Protože máš "i" jako argument funkce a díky tomu je to i lokální proměnná té funkce. A lokální mají…
Wikan 11.01.2020 20:09
Wikan
Tak že to mám špatně napsaný? Dá se to opravit?
JSL 11.01.2020 20:10
JSL
var i=0; (function test(){ console.log(i); if(i<10){i++;test(i);} })(); I když tohle řešit rekurzí…
Wikan 11.01.2020 20:15
Wikan
Večer to zkusím aplikovat na ten můj script. Zatím děkuji za pomoc. poslední
JSL 11.01.2020 20:40
JSL
Nějak to asi/možná/určitě/snad jde, viz. dokumentace tajného programovacího jazyka.
host 11.01.2020 18:59
host

Rekurze jde obvykle přepsat s použitím zásobníku.

Netuším jak to myslíš

Ale co tě k takové potřebě vede?

Jde jen o přehlednost kódu ale fakt by mi to hodně pomohlo.

Jen pro upřesnění, mám na mysli něco takového a jedná se o JavaScript


(function test() {
    test()
})();

Ten kousek kódu jsem našel jako ukázku.

Tady je jen hrubý nástřel kódu


var a = 0 ;
var b = 0 ;
(function test(a,b){
  array.forEach(function(obj){
    var li = '<li>'+obj.name+'</li>';
    document.body.innerHTML+=li;
    test(obj.a,obj.b);
  });
})();

Zpět do poradny Odpovědět na původní otázku Nahoru