![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 426 Pomógł: 32 Dołączył: 24.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
http://code.google.com/p/jsclassextend/
Mała biblioteka do tworzenia i rozszerzania obiektów w JSie. Prosta klasa:
rozszerzanie:
instancja:
więcej przykładów na googlecodzie, zapraszam do komentów (IMG:style_emoticons/default/smile.gif) Ten post edytował deirathe 11.01.2011, 22:34:05 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 426 Pomógł: 32 Dołączył: 24.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki wielkie za tak wyczerpującą opinię. Słowo static to bardziej definicja constansów niż staticów, dlatego cieszę się że zwróciłeś mi na to uwagę. Co do extenda:
http://jsfiddle.net/lunereaper/BbRdB/18/ tu jest przykład jak to działa i jak dziala instanceof, mi zwracał true.
Co do Twojego przykładu- nie pomyślałem o takim użyciu tej biblioteki, ale taką funkcjonalność na pewno wprowadzę i za to spostrzeżenie jestem niezmiernie wdzięczny. Na razie jednak można rozszerzać klasy w sposób opisany w mini dokumentacji, czyli za pomocą JSON'a. Instanceof nie działa kiedy sprawdzasz go na swojej klasie, ponieważ do prototypu obiektu, który powstanie za pomocą zdefiniowanej klasy nie jest przypisywany prototyp wrzuconego obiektu a prototyp obiektu który rozszerzamy. No i tak jak wspomniałeś JS jest nietypowy, dlatego też wszystkie atrybuty w klasie będące obiektami powinny być definiowane w "construct", aby uniknąć niemiłych niespodzianek. Ten post edytował deirathe 12.01.2011, 01:37:25 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 10.10.2025 - 02:47 |