Autor Zpráva
waltz
Profil *
Cau,

je mozno napisat v konstruktore podmienku, ktora dokaze vratit meno funkcie - pripadne vlastnosti, ktora je v dano momente volana konstruktorom ?

..skusim priklad:

function konstruktor(){
this.vlastnost1 = nieco1;
this.vlastnost2 = nieco2;
this.vlastnost3 = nieco3; // ak sa vola funkcia(), potrebujem aby sa tato vlastnost neinicializovala
this.funkcia = new function (){ ....}
}

.
.
var skuska = new konstruktor();

skuska.funkcia(); // v tomto momente potrebujem v konstruktore zistit, ci sa vola tato funkcia
.
.

Skusal som sa pozriet na metodu valueOf() a ine, ale ako si som sa k nicomu nedopracoval.....

za radu diik
ah01
Profil
Mohl bys to ještě nějak rozvést. Mě nějak není jasné to „v tomto momente potrebujem v konstruktore zistit, ci sa vola tato funkcia “? Konstruktor je funkce, terá už dávno skončila ve chvíli kdy voláš tu tvojí metodu.

A mimochodem, k čemu tam píšeš new function (){ ....} ? Pokud to máš úmyslně jako anonymní konstruktu, tak je to v pořádku, ale neřekl bych, že to tak je. Resp. pak ale nemá smysl volat to jako metodu.
waltz
Profil *
...ten vyssie uvedeny priklad je len splacanina na rychlo. Skusim to este teda popisat, o co ide. V konstruktore mam nejake vlastnosti, ktore sa inicializuju hned na zaciatku. To znamena, ze ked niekde v programe zavolam nejaku funkciu (ktora sa nachadza taktiez v konstruktore), tak sa mi najprv zinicializuju vlastnosti a potom sa nastartuje telo funkcie.

Problem je v tom, ze ja tie vlastnosti chcem (v mojom pripade iba jednu vlastnost) inicializovat iba v niektorych pripadoch. A tie pripady by mali zavisiet od toho, aku funkciu konstruktora 'prave' volam.

...jedna sa mi o to, ze mam vlastnost, ktora v niektorych pripadoch vyvola chybu/teda vynimku, co je v poriadku. Tym padom sa mi zbytok kodu nevykona. V jednom pripade vsak potrebujem, aby sa zbytok kodu (v konstruktore) vykonal.....a to prave zavisi na tom, ze pri volani jednej funkcie konstruktora tu vynimku potrebujem preskocit....

..snad sa mi to podarilo objasnit....pri najhorsiom skusim poslat samotny kod (akurat ze ho potom budem musiet okresat) ...

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: