![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 332 Pomógł: 294 Dołączył: 12.10.2008 Skąd: Olkusz Ostrzeżenie: (0%) ![]() ![]() |
tak trochu się zastanawiałem i nie wiem czy są jakieś różnice w wydajności, bądź ważniejsze w sposobie rozwiązywania problemów niuanse... np. w necie większość konstrukcji obiektów wygląda w ten sposób:
no i właśnie a pro po publicznych metod i publicznych zmiennych odnośnie tego this.cokolwiek - akurat mi się nie wygodnie pisze, jakoś wolę taką konstrukcję bez this.cokolwiek i bez pisania new podczas tworzenia nowego obiektu:
i tu moje pytanie - jak jest poprawniej, czy są jakieś znaczące tutaj różnice??... może tak przy okazji jakieś linki do trudniejszych artykułów a ciekawszych z niuansami z góry dziękuje ... sorki za podbicie ale znalazłem jeden motyw w tym co ja używam a ktoś mógłby uznać to za wadę - brak zdefiniowanego instanceof - więc odrazu rozwiązanie na instance of without new (IMG:style_emoticons/default/winksmiley.jpg) - tu już może spowolnienie lekkie - na pętlę nie chce mi się sprawdzać - choć raczej nie powinno być gdyż jest zwrócona tylko referencja... a jak jest sporo metod publicznych to jednak wolę pisać jak w poście wyżej drugi przykład zamiast dla każdej metody poprzedzać this... instance of without new (przykład na zdefiniowanie instancji): Kod java script:g=function(){};function c(){var ll=22; return {k:function(){return ll;}}};function a(ob,cialo){ob.prototype=cialo;return new ob;};h=a(g,c());alert(h instanceof g);void(0) ps. aby instancja zosttała zwrócona to funkcja do której przyrównujemy czy istnieje instancja musi być w zasięgu w miejscu gdzie ją sprawdzamy... dalej szukam jakichś za i przeciw który sposób lepszy - lub niech ktoś napisze, że to jeden h* (IMG:style_emoticons/default/winksmiley.jpg) lub jeśli ktoś chce pisać new a nie chce co chwila pisać this wewnątrz gdyż woli notację json: Kod java script:g=function(){};function c(){var ll=22; return {k:function(){return ll;}}};g.prototype=c();h=new g;alert(h instanceof g);void(0)
Ten post edytował zegarek84 6.01.2010, 16:40:15 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 25.09.2025 - 16:35 |