Autor | Zpráva | ||
---|---|---|---|
Darker Profil |
#1 · Zasláno: 23. 6. 2011, 20:00:09 · Upravil/a: Darker
Chtěl bych vzít objekt (nějaké konstanty) a nahrát jej do funkce jako by to byl seznam proměnných deklarovaných ve funkci.
var object={ value: "string", boolean: true } function funkce () { /*Provedu kouzlo*/ alert(value); //Vyskočí "string" } A chtěl bych to nějak provést bez this nebo jména funkce. |
||
Chamurappi Profil |
#2 · Zasláno: 23. 6. 2011, 20:07:47 · Upravil/a: Chamurappi
|
||
_es Profil |
#3 · Zasláno: 23. 6. 2011, 20:17:17 · Upravil/a: _es
Darker:
Nie je ti rozumieť, čo chceš, respektíve, aký má byť účel. Hodnotu "string" máš v object.value .
„alert(value); //Vyskočí "string"“ Sú nejaké spôsoby, ktorými sa dá také niečo dosiahnuť, no sú nedoporučované (Chamurappi ma predbehol a jeden spôsob prezradil.) Na zmenu hodnoty this vo funkcii sa dajú použiť metódy apply a call tej funkcie.
Chamurappi: „To kouzlo se jmenuje with“ Dá sa to ešte aj iným, tiež nedoporučovaným, „kúzlom“ vo vnútri funkcie: Cyklom for...in a funkciou eval vytvoriť vo funkcii lokálne premenné. |
||
Darker Profil |
#4 · Zasláno: 24. 6. 2011, 10:16:20 · Upravil/a: Darker
Jen z lenosti, protože chci mít objekt globální, jsou to nastavení ale jsem líný to vypisovat pořád dokola.
Cyklus for(i in object) mě napadl, ale právě kvůli eval jsem ho rovnou zavrhl. Mít něco takového na začátku fuinkce nechci. Nicméně článek o with uvedl přesvědčivé argumenty proč se na with vykašlat. Ale mockrát děkuji za odkazy, jak o with, tak ani a metodách apply a call jsem nevěděl. |
||
Časová prodleva: 13 let
|
0