Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Hledám něco jako class v javascriptu

Ahoj, existuje nějaký způsob, jak napsat class nebo funkci nebo něco úplně jiného tak, aby byly funkce uzavřené v nějakém společném bloku a šlo to spustit příkazem test(); a funkce uvnitř bych ovládal příslušným parametrem? Třeba test('foo');test('bar'); atd..

class Test{
    constructor(){/*code*/}
    foo(){/*code*/}
    bar(){/*code*/}
}
Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Podle tohodle... by to mělo jít, jen s tím rozdílem, že předávat musíš identifikátor, ne název... te…
JoDiK 17.10.2019 13:23
JoDiK
Já tam teda nic takového nevidím...
J.án 17.10.2019 14:29
J.án
test['foo']();
Wikan 17.10.2019 16:47
Wikan
Konečně jsem se k tomu dostal, nehledám jak předat parametrem funkci, hledám něco jako je class nebo…
J.án 19.10.2019 23:08
J.án
Marně přemýšlím, k čemu by to bylo dobré. Vidím to na klasický XY problém.
Wikan 19.10.2019 23:17
Wikan
Odpadne problém s this.
J.án 19.10.2019 23:47
J.án
Aha, takže přesně jak jsem čekal. S this zase tak žádný zásadní problém není.
Wikan 20.10.2019 06:45
Wikan
Taky jsi mi mohl poradit Namespace ;-) To je to, co jsem hledal..
J.án 21.10.2019 10:03
J.án
Podle popisu to namespace opravdu není. Navíc namespace nijak neřeší problém s this. poslední
Wikan 21.10.2019 10:07
Wikan

Konečně jsem se k tomu dostal, nehledám jak předat parametrem funkci, hledám něco jako je class nebo namespaces. Hledám něco, kde bych mohl použít vnitřně názvy funkcí a přesto dokázal tu hlavní funkci zavolat pouze takto test();

Uvedu nástřel pro představu

funkce test(fnc){
   alert('jsem tady');
   
if(fnc == 'foo' )   funkce foo(){      alert('a teď jsem tady');   }
if(fnc == 'bar' )   funkce bart(){      alert('a teď jsem zase tady');   }
}

test();//jsem tady
test('foo');//a teď jsem tady
test('bar');//a teď jsem zase tady


nebo klidně může být volání i takto

test();//jsem tady
test.foo();//a teď jsem tady
test.bar();//a teď jsem zase tady

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