Nazov objektu v nazve premennej – JavaScript, AJAX, jQuery – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Nazov objektu v nazve premennej – JavaScript, AJAX, jQuery – Fórum – Programujte.comNazov objektu v nazve premennej – JavaScript, AJAX, jQuery – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené — příspěvek s řešením.
marioff0
Expert
9. 8. 2011   #1
-
0
-

Caute,

nejak neviem najst riesenie ako priradit objektu referenciu na iny vlozeny objekt. Mam teda 2 objekty, napr. core a shop

a potrebujem dostat napr. do core.mod referenciu na objekt shop, tak aby som k nej pristupoval z core.mod.shop.nazovMetody.. Avsak nazov druheho objektu mam len v premennej.

core = {};

nazovObjektu = 'shop';
shop = { /* obsah objektu */ };

core.mod[nazovObjektu] = ??;

v php by to slo $$nazov... ide to aj podobne v javascripte... ?

Nahlásit jako SPAM
IP: 195.78.44.–
Škoda, že život sa nedá "sejvovať", tak že by som po zlom životnom rozhodnutí mohol začať odznova :([br] Lenivosť je matka pokroku.[br][br] http://cut.sk/ - odstrihni si dlhý link
m->29+6
Super člen
9. 8. 2011   #2
-
0
-

#1 marioff
Presne ako si napísal:

core = {
  mod : {}
};

nazovObjektu = 'shop';
shop = {
  doSth : function() {
    alert('Haf');
  }
};

core.mod[nazovObjektu] = shop;
core.mod.shop.doSth();
Nahlásit jako SPAM
IP: 78.141.66.–
marioff0
Expert
9. 8. 2011   #3
-
0
-

problem je v tom ze neviem ktory objekt sa bude pridavat, to bude vediet len ta premenna nazovObjektu, objektov je viac a mali by sa refencie na ne pridavat v jadre dynamicky podla potreby.

Nahlásit jako SPAM
IP: 195.78.44.–
Škoda, že život sa nedá "sejvovať", tak že by som po zlom životnom rozhodnutí mohol začať odznova :([br] Lenivosť je matka pokroku.[br][br] http://cut.sk/ - odstrihni si dlhý link
Řešení
m->29+6
Super člen
9. 8. 2011   #4
-
+1
-
Zajímavé
Vyřešeno Nejlepší odpověď

V tom prípade ma napadá jedine evil eval()...

core = {
  mod : {}
};

nazovObjektu = 'shop';
shop = {
  doSth : function() {
    alert('Haf');
  }
};

core.mod[nazovObjektu] = eval(nazovObjektu);
core.mod.shop.doSth();
Nahlásit jako SPAM
IP: 78.141.66.–
marioff0
Expert
9. 8. 2011   #5
-
0
-

velke dik... na tuto hnusarnu som uplne zabudol.. ale funguje k spokojnosti... este raz DIK

Nahlásit jako SPAM
IP: 195.78.44.–
Škoda, že život sa nedá "sejvovať", tak že by som po zlom životnom rozhodnutí mohol začať odznova :([br] Lenivosť je matka pokroku.[br][br] http://cut.sk/ - odstrihni si dlhý link
1321645679876456
~ Anonymní uživatel
27 příspěvků
11. 8. 2011   #6
-
+1
-
Zajímavé

Výhodnější by bylo využít toho, že objekt shop je vlastností objektu window:

core.mod[nazovObjektu] = window[nazovObjektu];
Nahlásit jako SPAM
IP: 83.240.95.–
marioff0
Expert
11. 8. 2011   #7
-
0
-

#6 1321645679876456
zabudol som uviest ze sa nejedna o kod pre web, ale pre inu platformu, kde toto neplati, ale aj tak dik..

Nahlásit jako SPAM
IP: 195.78.44.–
Škoda, že život sa nedá "sejvovať", tak že by som po zlom životnom rozhodnutí mohol začať odznova :([br] Lenivosť je matka pokroku.[br][br] http://cut.sk/ - odstrihni si dlhý link
1321645679876456
~ Anonymní uživatel
27 příspěvků
11. 8. 2011   #8
-
0
-

I na té jiné platformě nejspíš budou všechny objekty vlastnostmi nějakého nadřazeného globální objektu, kdyžtak koukni do dokumentace.

Nahlásit jako SPAM
IP: 83.240.95.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 14 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý