« 1 2
Autor Zpráva
_es
Profil
Yur4Y
Nepôjde to v Exploreri.
To sa mi nezdá, ktorú verziu myslíš?

Suta
kód pro situaci, když budu pro daný objekt chtít zároveň využít jednu z metod třídy 1, jednu z metod třídy 2 a jednu z metod třídy 3, ale nechtěl zbytečně vytvářet tři nové instance.
Nič ti predsa nebráni funkciu (odkaz na funkciu) okopírovať:
Konstruktor2.prototype.metoda1 = Konstruktor1.prototype.metoda1;
alebo aj s premenovaním:
Konstruktor2.prototype.inyNazovPreMetodu1 = Konstruktor1.prototype.metoda1;
Používa sa aj iný zložitejší spôsob, no toto bude asi najjednoduchšie.

zda-li není výhodné "všeobecné" metody definovat na nejvyšší úrovni
Nikto ti nebráni použiť to, čo ti vyhovuje, no to už môžeš rovno definovať globálne funkcie a objekty používať hlavne ako dátové štruktúry.

Prečo používaš "ztmavnuti" ako objekt, logicky by to skôr mala byť metóda nejakého objektu.
Ak niečo definuješ ako objekt, tak by si si to mal byť schopný nejak predstaviť, nakresliť, opísať... samé osebe.
Skús nakresliť stmavnutie, nie stmavnutie niečoho, ale stmavnutie ako samostatnú entitu.
Veľmi zjednodušene, ak to je sloveso, alebo nejaká činnosť, tak by to mala byť metóda.
Chamurappi
Profil
Reaguji na Yur4Yho:
Nepôjde to v Exploreri.
Ale půjde. Rozšiřování Object.prototype se nedoporučuje z jiného důvodu — zadělává se tím na problém u smyček for-in.
« 1 2

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:

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

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

0