pdf | do ÂściÂągnięcia | ebook | pobieranie | download
Pokrewne
- Strona Główna
- Turbo Pascal Programowanie
- C Szkoła programowania
- Crusie Jennifer KśÂ‚am mi, kśÂ‚am
- Wszelki wypadek_POL
- Antologia SF KrysztaśÂ‚owy sześÂ›cian Wenus
- KowalewiczA AdaptacjaSilnika
- Handler Chelsea W pozycji horyzontalnej
- Charles Martin W pogoni za śÂ›wietlikami
- Susan_Ee_ _02_ _Angelfall._Penryn_i_ssssssssssssssssssssssssssssssssssssswiat_po
- Kate Brian Ksi晜źniczka i śźebraczka
- zanotowane.pl
- doc.pisz.pl
- pdf.pisz.pl
- policzgwiazdy.htw.pl
[ Pobierz całość w formacie PDF ]
dzo Å‚atwo przeoczyć, gdy usiÅ‚ujemy odpluskwiać skrypt, który ciÄ…gnie si¹ strona za stronÄ….
Tak może wyglądać przykład, w którym nietrudno zapomnieć o operatorze konkatenacji:
Plus ( ) powinien znalezć si¹ pomi¹dzy i .
Operatory =, ==, ===
W JavaScripcie jest operatorem przypisania, który wartość tego, co znajduje si¹ przed nim,
nastawia na to, co znajduje si¹ po nim. oznacza jest równy , wykonuje porównanie
wartości po obu stronach i zwraca wartość boolowską. oznacza jest ściśle równy i do-
konuje porównania zarówno wartości, jak i typu danych po obu stronach.
W tym przykładzie zmienna jest deklarowana z wartością . W drugim wierszu wartość
zmiennej jest zmieniona na , co zgłasza okno alert. w trzecim wierszu zwraca ,
ponieważ wartość została zmieniona w poprzednim wierszu. Czwarty wiersz zwraca ,
ponieważ jest zmienną typu liczbowego.
558 Część III Strategie programowania
Operatory i !=
Programiści ASP i VB zwykle używają jako różny niż . W JavaScripcie powoduje to
bÅ‚Ä…d skÅ‚adni, ponieważ operatorem nierównoÅ›ci w tym j¹zyku jest .
Metody jako własności i odwrotnie
W JavaScripcie para nawiasów musi nast¹pować po każdej metodzie, nawet dla metod nie
przyjmujÄ…cych parametrów. Po wÅ‚asnoÅ›ciach nigdy nie wyst¹puje para nawiasów.
W tym przykÅ‚adzie po metodzie brak pary nawiasów, wi¹c JavaScript usiÅ‚uje
zinterpretować ją jako własność:
Daje to dość ciekawe wyniki:
Wyniki w ramce ostrzegawczej są zasadniczo prototypem metody , którego
metody i własności są nie wyliczonym kodem własnym obiektu JavaScript, do którego należy
.
Analogicznie, jeÅ›li umieÅ›cimy nawias po wÅ‚asnoÅ›ci, interpreter JavaScriptu b¹dzie próbo-
waÅ‚ zinterpretować wÅ‚asność jako metod¹:
Generuje to błąd wykonania:
Niejasne instrukcje else
Czasami nie jest oczywiste, do której instrukcji należy dana instrukcja . W poniż-
szym przykładzie niepoprawna jest zarówno logika, jak i formatowanie:
Rozdział 13. Obsługa błędów, uruchamianie, rozwiązywanie problemów 559
W tym przykÅ‚adzie nie wygramy nigdy. Rami¹ należy do drugiej z instrukcji . Użycie
nawiasów klamrowych (opisane w poprzednim rozdziale) eliminuje ten błąd.
Problemy z for & in
Jak powiedzieliśmy w rozdziale 2., składnia jest używana do znajdowania nazw
wszystkich własności obiektu JavaScript. Problem polega na tym, że metoda ta nie zawsze
dziaÅ‚a zgodnie z oczekiwaniami; niektóre wÅ‚asnoÅ›ci nie pojawiajÄ… si¹, zaÅ› cz¹Å›Ä‡ obiektów
pozornie nie ma w ogóle wÅ‚asnoÅ›ci. Niewiele możemy z tym zrobić, ponieważ takÄ… decyzj¹
o produkcie podj¹li autorzy interpretera JavaScript. Problem taki zwykle pojawia si¹ tylko
wtedy, gdy dla swoich celów wycinamy wÅ‚asnÄ… Å›cieżk¹ do przeglÄ…darki..
Możemy tylko:
poznać z góry nazwy własności,
wiedząc, dlaczego własności są ukryte przed wyliczeniem, zaakceptować to.
Aby poznać z góry wÅ‚asnoÅ›ci obiektu, polecamy odwoÅ‚ać si¹ do dokumentacji, na przykÅ‚ad
w dodatkach do tej książki. Alternatywną taktyką jest sondowanie danego obiektu, własność
po własności, przy użyciu składni tablicowej. Pochłania to wiele czasu i jest ostatnią deską
ratunku.
Zgodnie ze standardem ECMA, dana wÅ‚asność obiektu ma kilka atrybutów opisujÄ…cych t¹
wÅ‚asność, na przykÅ‚ad nazw¹ i wartość wÅ‚asnoÅ›ci. Jednym z takich atrybutów jest .
JeÅ›li atrybut ten jest obecny, wÅ‚asność nie zostanie ujawniana przez p¹tl¹ .
W ten sposób wÅ‚asnoÅ›ci obiektów sÄ… pomijane w takich p¹tlach.
Własności obiektów mogą mieć atrybut z kilku powodów. Najprostszym jest fakt,
że niektóre własności są nieciekawe. Każda metoda obiektu jest również jego własnością.
Nie ma sensu próbować oddziaływać z metodą jako własnością, jeśli obiekt jest obiektem
macierzystym. Na przykład:
560 Część III Strategie programowania
Skrypt wyświetli poniższy alarm i przy okazji wywoła zamieszanie w obiekcie .
Metoda nie b¹dzie od tego momentu dost¹pna do tworzenia nowych okien przeglÄ…darki.
Drugim powodem stosowania własności, których nie można wyliczyć jest to, że niektóre
obiekty macierzyste nie trzymajÄ… si¹ tych samych reguÅ‚ co JavaScript. PrzykÅ‚adem mogÄ…
[ Pobierz całość w formacie PDF ]