Autor | Zpráva | ||
---|---|---|---|
Měsíček Profil |
#1 · Zasláno: 18. 12. 2008, 19:16:41 · Upravil/a: Měsíček
Zdravím všechny,
při pročítání JS dokumentace jsem narazil na metody __lookupGetter__ a __lookupSetter__ i přes veškerou snahu jsem nepochopil k čemu slouží a hlavně jak je použít (co se týče syntaxe v kódu). Mohli byste mi vy zkušenější s tím pomoci? Již předem děkuji. |
||
bohyn Profil |
#2 · Zasláno: 18. 12. 2008, 19:27:15
Jestli sem to spravne pochopil tak getter a setter jsou v podstate fce ktere se tvari jako vlastnost objektu.
lookup pak vraci tyto funkce. |
||
Měsíček Profil |
#3 · Zasláno: 18. 12. 2008, 19:42:55
No, zkusil jsem si vyrobit takový malý příklad, ale pořád nechápu k čemu mi
<script type="text/javascript"> /** * __lookupGetter__ */ var x = { a : 13 }; x.__defineGetter__("b", function () { return this.a+(13*13); }); alert("[1] =>"+x.b+"\n\n[2] =>"+x.__lookupGetter__("b")); /** * Vrátí [1] => 182 * * [2] => function(){ * return this.a+169; * } */ </script> Jinak omlouvám se za ty hloupé dotazy, ale chci v tom mít jasno :) |
||
bohyn Profil |
Měsíček
Pokud chces stejny g/setter nastavit jine vlastnosti a nechces kopirovat stejnou funkci furt dokola (nebo ji nemas k dispozici) tak pouzijes lookup. Pripada mi elegantnejsi v tomto pripade pouzit lookup: var x = { a : "13abc", b : "113,12xyz" }; x.__defineGetter__("aFloat", function() { return parseFloat(this.a); }); x.__defineGetter__("bFloat", this.__lookupGetter__("aFloat")); Edit: Sakra blbej priklad, ale pokud by to bylo u jineho objektu tak je to pouzitelne :) |
||
bohyn Profil |
#5 · Zasláno: 18. 12. 2008, 20:22:11
var x = { a : "13abc" }; x.__defineGetter__("aFloat", function() { return parseFloat(this.a); }); var y = { a : "113,12xyz" }; y.__defineGetter__("aFloat", x.__lookupGetter__("aFloat")); |
||
Měsíček Profil |
#6 · Zasláno: 18. 12. 2008, 20:25:06
Ó výborně, už to začínám pomalu chápat, takže díky za ten příklad, to bylo to co jsem potřeboval a teď dotaz číslo 2, existuje ještě nějáké využití této metody nebo je pouze tady tato?
|
||
bohyn Profil |
#7 · Zasláno: 18. 12. 2008, 20:40:33
Měsíček
Mne to pripada celkem dostatecne, kdyz mas fci na jeden radek tak to tolik neulehci, ale kdyz je o neco sofistikovanejsi tak si usetris cas pri ladeni a zapis nebude dlouhej jak tejden. Dale uz me napada jen to ze muses zonglovat g/setterama za behu - neni to snad skvely napad? :p Co se tyce realneho vyuziti tak se obavam je v tuto chvili nulove. Chybi podpora browseru. A to jak __define[G|S]etter__ tak __lookup[G|S]etter__ |
||
Časová prodleva: 15 let
|
0