Autor | Zpráva | ||
---|---|---|---|
kahi Profil |
#1 · Zasláno: 15. 4. 2009, 13:12:36
Ahoj,
nedaří se mi v JS/jQ definovat funkci tak, abych ji mohl volat způsobem: my_string.myFunction(); Z jQ jsem zvyklý definovat funkce $.fn.myFunction = function () {} ale taková funkce bohužel funguje jen aplikovaná na jQ objekt. Potřeboval bych totéž aplikovat na string. Závorková syntaxe (myFunction(my_string)) se mi nelíbí... Díky za radu. Omlouvám se, že kladu takové hloupé otázky. Asi bych si měl koupit nějakou příručku :-). |
||
srigi Profil |
#2 · Zasláno: 15. 4. 2009, 13:23:12
Ak sa nemylim, tak co sa stringu tyka, ak kces pridat novu metodu, budes musiet rozsirit jeho prototyp (JS je prototypovy jazyk). Vo vseobecnosti sa toto ale nepovazuje za dobry napad.
|
||
Chamurappi Profil |
#3 · Zasláno: 15. 4. 2009, 13:43:00 · Upravil/a: Chamurappi
Reaguji na srigiho:
„Vo vseobecnosti sa toto ale nepovazuje za dobry napad.“ Není pravda. Špatný nápad je to jen u třídy Object, u ostatních vestavěných objektů se podobné rozšiřování v rozumné míře užívá. Reaguji na kahiho: Chceš-li přidat metodu ke všem řetězcům, musíš použít prototyp, tedy: String.prototype.myFunction = function() { // … }; |
||
kahi Profil |
#4 · Zasláno: 15. 4. 2009, 14:04:36
Chamurappi
Díky, skvělé! Potřebuji totiž definovat funkci obdobnou "replace" a implementovat ji klasicky mi přijde (na používání) dost neintuitivní. |
||
Časová prodleva: 15 let
|
0