Facebook - konwersja
  • promocja

Tajemnice JavaScriptu. Podręcznik ninja - ebook

Wydawnictwo:
Tłumacz:
Data wydania:
16 maja 2014
Format ebooka:
EPUB
Format EPUB
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najpopularniejszych formatów e-booków na świecie. Niezwykle wygodny i przyjazny czytelnikom - w przeciwieństwie do formatu PDF umożliwia skalowanie czcionki, dzięki czemu możliwe jest dopasowanie jej wielkości do kroju i rozmiarów ekranu. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
, PDF
Format PDF
czytaj
na laptopie
czytaj
na tablecie
Format e-booków, który możesz odczytywać na tablecie oraz laptopie. Pliki PDF są odczytywane również przez czytniki i smartfony, jednakze względu na komfort czytania i brak możliwości skalowania czcionki, czytanie plików PDF na tych urządzeniach może być męczące dla oczu. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
, MOBI
Format MOBI
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najczęściej wybieranych formatów wśród czytelników e-booków. Możesz go odczytać na czytniku Kindle oraz na smartfonach i tabletach po zainstalowaniu specjalnej aplikacji. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
(3w1)
Multiformat
E-booki sprzedawane w księgarni Virtualo.pl dostępne są w opcji multiformatu - kupujesz treść, nie format. Po dodaniu e-booka do koszyka i dokonaniu płatności, e-book pojawi się na Twoim koncie w Mojej Bibliotece we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu przy okładce. Uwaga: audiobooki nie są objęte opcją multiformatu.
czytaj
na laptopie
Pliki PDF zabezpieczone watermarkiem możesz odczytać na dowolnym laptopie po zainstalowaniu czytnika dokumentów PDF. Najpowszechniejszym programem, który umożliwi odczytanie pliku PDF na laptopie, jest Adobe Reader. W zależności od potrzeb, możesz zainstalować również inny program - e-booki PDF pod względem sposobu odczytywania nie różnią niczym od powszechnie stosowanych dokumentów PDF, które odczytujemy każdego dnia.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na tablecie
Aby odczytywać e-booki na swoim tablecie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. Bluefire dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na czytniku
Czytanie na e-czytniku z ekranem e-ink jest bardzo wygodne i nie męczy wzroku. Pliki przystosowane do odczytywania na czytnikach to przede wszystkim EPUB (ten format możesz odczytać m.in. na czytnikach PocketBook) i MOBI (ten fromat możesz odczytać m.in. na czytnikach Kindle).
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na smartfonie
Aby odczytywać e-booki na swoim smartfonie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. iBooks dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.

Tajemnice JavaScriptu. Podręcznik ninja - ebook

Najlepsze porady dla programistów JavaScript!

JavaScript to język programowania, który wymaga od programisty szerokiej wiedzy i dokładności. Chwila nieuwagi może spowodować poważne problemy, trudne do wykrycia. Jak sobie radzić w tym wymagającym środowisku? Jak zwinnie poruszać się pomiędzy zastawionymi pułapkami?

Na te i wiele innych pytań znajdziesz odpowiedź w tej książce. Dzięki niej będziesz zwinnie jak ninja przemykał pomiędzy niuansami języka JavaScript. W trakcie lektury poznasz dogłębnie najlepszą broń przeciw błędom — debuger oraz testy automatyczne. W kolejnych rozdziałach nauczysz się korzystać z potencjału funkcji oraz domknięć. W tej doskonałej książce znajdziesz również szerokie omówienie wyrażeń regularnych — tematu, który spędza programistom sen z oczu. Ponadto szczegółowo poznasz zasady programowania obiektowego w JavaScripcie, modyfikowania drzewa DOM, wsparcia dla różnych przeglądarek oraz obsługi zdarzeń. Książka ta zawiera praktyczne porady, które sprawdzą się w codziennej pracy z językiem JavaScript. Jest to obowiązkowa pozycja dla każdego programisty!

Dzięki tej książce:

- nauczysz się pisać testy automatyczne
- wykorzystasz wyrażenia regularne w JavaScripcie
- zmodyfikujesz drzewo DOM
- opanujesz niuanse języka JavaScript

Pisz kod JavaScript jak prawdziwy ninja!

 


 

Spis treści

Przedmowa (9)

Podziękowania (11)

O książce (13)

O autorach (19)

CZĘŚĆ I. PRZYGOTOWANIE DO TRENINGU (21)

Rozdział 1. Zostań wojownikiem (23)

  • 1.1. Omawiane biblioteki języka JavaScript (24)
  • 1.2. Język JavaScript (25)
  • 1.3. Kwestie dotyczące obsługi wielu przeglądarek (26)
  • 1.4. Najlepsze obecnie praktyki (30)
    • 1.4.1. Najlepsze obecnie praktyki - testowanie (30)
    • 1.4.2. Najlepsze obecnie praktyki - analizowanie wydajności (31)
  • 1.5. Podsumowanie (32)

Rozdział 2. Broń w postaci testowania i debugowania (33)

  • 2.1. Debugowanie kodu (34)
    • 2.1.1. Rejestrowanie (34)
    • 2.1.2. Punkty wstrzymania (36)
  • 2.2. Generowanie testu (38)
  • 2.3. Środowiska testowania (40)
    • 2.3.1. QUnit (43)
    • 2.3.2. YUI Test (43)
    • 2.3.3. JsUnit (43)
    • 2.3.4. Nowsze środowiska testów jednostkowych (43)
  • 2.4. Fundamenty pakietu testów (44)
    • 2.4.1. Asercja (44)
    • 2.4.2. Grupy testów (45)
    • 2.4.3. Testowanie asynchroniczne (47)
  • 2.5. Podsumowanie (49)

CZĘŚĆ II. TRENING UCZNIA (51)

Rozdział 3. Funkcje są najważniejsze (53)

  • 3.1. Na czym polega funkcyjność? (54)
    • 3.1.1. Dlaczego ważna jest funkcyjna natura języka JavaScript? (55)
    • 3.1.2. Sortowanie za pomocą komparatora (60)
  • 3.2. Deklaracje (63)
    • 3.2.1. Określanie zasięgu i funkcje (66)
  • 3.3. Wywołania (71)
    • 3.3.1. Od argumentów do parametrów funkcji (72)
    • 3.3.2. Wywołanie funkcji jako funkcji (73)
    • 3.3.3. Wywołanie funkcji jako metody (74)
    • 3.3.4. Wywołanie funkcji jako konstruktora (77)
    • 3.3.5. Wywołanie za pomocą metod apply() i call() (80)
  • 3.4. Podsumowanie (84)

Rozdział 4. Posługiwanie się funkcjami (87)

  • 4.1. Funkcje anonimowe (88)
  • 4.2. Rekurencja (90)
    • 4.2.1. Rekurencja w funkcjach z nazwą (90)
    • 4.2.2. Rekurencja z metodami (92)
    • 4.2.3. Problem z podkradanym odwołaniem (93)
    • 4.2.4. Wstawiane funkcje z nazwą (95)
    • 4.2.5. Właściwość callee (97)
  • 4.3. Używanie funkcji jako obiektów (98)
    • 4.3.1. Przechowywanie funkcji (99)
    • 4.3.2. Funkcje z automatycznym zapamiętywaniem (100)
    • 4.3.3. Oszukiwanie metod tablicowych (103)
  • 4.4. Listy argumentów o zmiennej długości (105)
    • 4.4.1. Użycie metody apply() do dostarczania zmiennej argumentów (105)
    • 4.4.2. Przeciążanie funkcji (107)
  • 4.5. Sprawdzanie pod kątem funkcji (116)
  • 4.6. Podsumowanie (118)

Rozdział 5. Zamknięcie się w domknięciach (119)

  • 5.1. Sposób działania domknięć (120)
  • 5.2. Praktyczne wykorzystanie domknięć (125)
    • 5.2.1. Zmienne prywatne (125)
    • 5.2.2. Wywołania zwrotne i liczniki czasu (127)
  • 5.3. Powiązanie kontekstów funkcji (131)
  • 5.4. Częściowe stosowanie funkcji (136)
  • 5.5. Przesłanianie działania funkcji (139)
    • 5.5.1. Zapamiętywanie (139)
    • 5.5.2. Opakowanie funkcji (142)
  • 5.6. Funkcje bezpośrednie (144)
    • 5.6.1. Zasięg tymczasowy i zmienne prywatne (146)
    • 5.6.2. Pętle (150)
    • 5.6.3. Opakowywanie biblioteki (152)
  • 5.7. Podsumowanie (153)

Rozdział 6. Obiektowość z prototypami (155)

  • 6.1. Tworzenie instancji i prototypy (156)
    • 6.1.1. Tworzenie instancji obiektu (156)
    • 6.1.2. Określanie typu obiektu za pośrednictwem konstruktorów (164)
    • 6.1.3. Dziedziczenie i łańcuch prototypów (166)
    • 6.1.4. Prototypy modelu DOM języka HTML (171)
  • 6.2. Pułapki! (173)
    • 6.2.1. Rozszerzanie obiektu (173)
    • 6.2.2. Rozszerzanie liczby (175)
    • 6.2.3. Używanie podklas dla wbudowanych obiektów (177)
    • 6.2.4. Problemy z tworzeniem instancji (178)
  • 6.3. Pisanie kodu bardziej zbliżonego do kodu z klasami (183)
    • 6.3.1. Sprawdzanie pod kątem serializacji funkcji (186)
    • 6.3.2. Inicjalizacja podklas (187)
    • 6.3.3. Zachowywanie supermetod (188)
  • 6.4. Podsumowanie (190)

Rozdział 7. Borykanie się z wyrażeniami regularnymi (193)

  • 7.1. Dlaczego wyrażenia regularne są tak ważne? (194)
  • 7.2. Odświeżenie informacji o wyrażeniach regularnych (195)
    • 7.2.1. Omówienie wyrażeń regularnych (195)
    • 7.2.2. Wyrazy i operatory (197)
  • 7.3. Kompilowanie wyrażeń regularnych (201)
  • 7.4. Przechwytywanie pasujących segmentów (204)
    • 7.4.1. Wykonywanie prostych przechwytywań (204)
    • 7.4.2. Dopasowywanie za pomocą globalnych wyrażeń regularnych (205)
    • 7.4.3. Przywoływanie przechwytywań (207)
    • 7.4.4. Grupy bez przechwytywania (208)
  • 7.5. Zastępowanie za pomocą funkcji (209)
  • 7.6. Rozwiązywanie typowych problemów z wykorzystaniem wyrażeń regularnych (212)
    • 7.6.1. Obcinanie łańcucha (212)
    • 7.6.2. Dopasowywanie znaków nowego wiersza (214)
    • 7.6.3. Unicode (215)
    • 7.6.4. Znaki o zmienionym znaczeniu (216)
  • 7.7. Podsumowanie (217)

Rozdział 8. Wątki i liczniki czasu (219)

  • 8.1. Sposób działania liczników czasu i wątkowości (220)
    • 8.1.1. Ustawianie i usuwanie liczników czasu (220)
    • 8.1.2. Wykonywanie licznika czasu w obrębie wątku wykonywania (221)
    • 8.1.3. Różnice między czasami oczekiwania i interwałami (223)
  • 8.2. Minimalne opóźnienie licznika czasu i wiarygodność (225)
  • 8.3. Radzenie sobie z przetwarzaniem kosztownym obliczeniowo (228)
  • 8.4. Scentralizowane kontrolowanie liczników czasu (231)
  • 8.5. Testowanie asynchroniczne (235)
  • 8.6. Podsumowanie (236)

CZĘŚĆ III. TRENING WOJOWNIKA (237)

Rozdział 9. Alchemia wojownika. Analizowanie kodu w środowisku wykonawczym (239)

  • 9.1. Mechanizmy analizy kodu (240)
    • 9.1.1. Analizowanie za pomocą metody eval() (240)
    • 9.1.2. Analizowanie za pośrednictwem konstruktora Function (243)
    • 9.1.3. Analizowanie przy użyciu liczników czasu (244)
    • 9.1.4. Analizowanie w zasięgu globalnym (244)
    • 9.1.5. Bezpieczne analizowanie kodu (247)
  • 9.2. "Dekompilacja" funkcji (248)
  • 9.3. Analizowanie kodu w praktyce (251)
    • 9.3.1. Przekształcanie łańcuchów JSON (251)
    • 9.3.2. Importowanie kodu z przestrzenią nazw (253)
    • 9.3.3. Kompresja i ukrywanie kodu JavaScript (254)
    • 9.3.4. Dynamiczne przebudowywanie kodu (256)
    • 9.3.5. Znaczniki skryptu zorientowanego aspektowo (257)
    • 9.3.6. Metajęzyki i języki DSL (258)
  • 9.4. Podsumowanie (262)

Rozdział 10. Instrukcje with (263)

  • 10.1. O co chodzi z instrukcją with? (264)
    • 10.1.1. Przywoływanie właściwości w zasięgu instrukcji with (264)
    • 10.1.2. Przypisania w zasięgu instrukcji with (266)
    • 10.1.3. Kwestie dotyczące wydajności (268)
  • 10.2. Rzeczywiste przykłady (270)
  • 10.3. Importowanie kodu z przestrzenią nazw (272)
  • 10.4. Testowanie (272)
  • 10.5. Stosowanie szablonów z instrukcją with (273)
  • 10.6. Podsumowanie (276)

Rozdział 11. Opracowywanie strategii obsługi wielu przeglądarek (277)

  • 11.1. Wybór przeglądarek do obsługi (278)
  • 11.2. Pięć podstawowych kwestii programistycznych (279)
    • 11.2.1. Błędy i różnice w przeglądarkach (281)
    • 11.2.2. Poprawki błędów w przeglądarce (281)
    • 11.2.3. Radzenie sobie z zewnętrznym kodem i znacznikami (283)
    • 11.2.4. Brakujące funkcje (289)
    • 11.2.5. Regresje (290)
  • 11.3. Strategie implementowania (292)
    • 11.3.1. Bezpieczne poprawki dla różnych przeglądarek (292)
    • 11.3.2. Wykrywanie obiektu (294)
    • 11.3.3. Symulacja funkcji (295)
  • 11.4. Zmniejszanie liczby założeń (301)
  • 11.5. Podsumowanie (303)

Rozdział 12. Atrybuty, właściwości i arkusze stylów CSS (305)

  • 12.1. Atrybuty i właściwości modelu DOM (307)
    • 12.1.1. Nazewnictwo w różnych przeglądarkach (308)
    • 12.1.2. Ograniczenia dotyczące nazw (309)
    • 12.1.3. Różnice między językami XML i HTML (310)
    • 12.1.4. Działanie atrybutów niestandardowych (310)
    • 12.1.5. Kwestie dotyczące wydajności (311)
  • 12.2. Problemy z atrybutami w przypadku obsługi wielu przeglądarek (315)
    • 12.2.1. Rozszerzanie nazwy (identyfikatora) modelu DOM (315)
    • 12.2.2. Normalizacja adresu URL (317)
    • 12.2.3. Atrybut style (318)
    • 12.2.4. Atrybut type (319)
    • 12.2.5. Problem z indeksem tabulacji (320)
    • 12.2.6. Nazwy węzłów (321)
  • 12.3. Problemy związane z atrybutami stylów (321)
    • 12.3.1. Gdzie są moje style? (322)
    • 12.3.2. Określanie nazw właściwości stylów (324)
    • 12.3.3. Właściwość stylów float (326)
    • 12.3.4. Konwersja wartości pikseli (326)
    • 12.3.5. Określanie wysokości i szerokości (327)
    • 12.3.6. Przenikanie nieprzezroczystości (332)
    • 12.3.7. Poskromienie kolorowego koła (335)
  • 12.4. Uzyskiwanie stylów obliczanych (338)
  • 12.5. Podsumowanie (341)

CZĘŚĆ IV. TRENING MISTRZA (343)

Rozdział 13. Radzenie sobie ze zdarzeniami (345)

  • 13.1. Techniki wiązania zdarzeń i anulowania powiązań (346)
  • 13.2. Obiekt Event (351)
  • 13.3. Zarządzanie procedurami obsługi (355)
    • 13.3.1. Scentralizowane przechowywanie powiązanych informacji (355)
    • 13.3.2. Zarządzanie procedurami obsługi zdarzeń (358)
  • 13.4. Wyzwalanie zdarzeń (369)
    • 13.4.1. Zdarzenia niestandardowe (371)
  • 13.5. Propagacja i delegowanie (375)
    • 13.5.1. Delegowanie zdarzeń do elementu nadrzędnego (376)
    • 13.5.2. Radzenie sobie z mankamentami przeglądarek (377)
  • 13.6. Zdarzenie gotowości dokumentu (387)
  • 13.7. Podsumowanie (389)

Rozdział 14. Modyfikowanie modelu DOM (393)

  • 14.1. Umieszczanie kodu HTML w modelu DOM (394)
    • 14.1.1. Przekształcanie kodu HTML w model DOM (396)
    • 14.1.2. Wstawianie do dokumentu (399)
    • 14.1.3. Wykonywanie skryptu (401)
  • 14.2. Klonowanie elementów (403)
  • 14.3. Usuwanie elementów (405)
  • 14.4. Treść tekstowa (407)
    • 14.4.1. Ustawianie tekstu (408)
    • 14.4.2. Pobieranie tekstu (409)
  • 14.5. Podsumowanie (410)

Rozdział 15. Mechanizmy selektorów CSS (411)

  • 15.1. Interfejs API selektorów organizacji W3C (413)
  • 15.2. Użycie języka XPath do znajdowania elementów (416)
  • 15.3. Implementacja czystego modelu DOM (418)
    • 15.3.1. Analizowanie selektora (421)
    • 15.3.2. Znajdowanie elementów (422)
    • 15.3.3. Filtrowanie zestawu (423)
    • 15.3.4. Rekurencja i scalanie (424)
    • 15.3.5. Wstępujący mechanizm selektorów (425)
  • 15.4. Podsumowanie (427)

Skorowidz (429)

Kategoria: Programowanie
Zabezpieczenie: Watermark
Watermark
Watermarkowanie polega na znakowaniu plików wewnątrz treści, dzięki czemu możliwe jest rozpoznanie unikatowej licencji transakcyjnej Użytkownika. E-książki zabezpieczone watermarkiem można odczytywać na wszystkich urządzeniach odtwarzających wybrany format (czytniki, tablety, smartfony). Nie ma również ograniczeń liczby licencji oraz istnieje możliwość swobodnego przenoszenia plików między urządzeniami. Pliki z watermarkiem są kompatybilne z popularnymi programami do odczytywania ebooków, jak np. Calibre oraz aplikacjami na urządzenia mobilne na takie platformy jak iOS oraz Android.
ISBN: 978-83-246-8507-3
Rozmiar pliku: 6,1 MB

BESTSELLERY

Kategorie: