Zrozumieć JavaScript. Wprowadzenie do programowania - Helion
Tytuł oryginału: Eloquent JavaScript: A Modern Introduction to Programming, Second Edition
Tłumaczenie: Łukasz Piwko
ISBN: 978-83-283-0972-2
stron: 480, Format: ebook
Data wydania: 2015-08-10
Księgarnia: Helion
Cena książki: 49,50 zł (poprzednio: 99,00 zł)
Oszczędzasz: 50% (-49,50 zł)
Opanuj język internetu
Współczesne aplikacje i strony internetowe nie byłyby takie same, gdyby nie potencjał języka JavaScript. Ten język programowania jeszcze kilka lat temu przeżywał kryzys, lecz w końcu został doceniony. Obecnie jest on stosowany wszędzie tam, gdzie użytkownicy wymagają najwyższej interaktywności, szybkości działania oraz wygody korzystania z aplikacji internetowej. Jeżeli chcesz poznać JavaScript i użyć go już w najbliższym projekcie, to trafiłeś na doskonałą książkę.
Otwórz ją i przekonaj się, jak wygląda składnia JavaScriptu oraz typowe konstrukcje w tym języku. W trakcie lektury kolejnych rozdziałów nauczysz się budować przejrzystą strukturę programu, korzystać z obiektów i tablic oraz wyrażeń regularnych. Ponadto poznasz tajniki programowania obiektowego i najlepsze techniki obsługi błędów. Gdy opanujesz już podstawy związane z językiem, przyjdzie czas na drugą część książki, poświęconą możliwościom JavaScriptu w środowisku przeglądarki. Na kolejnych stronach znajdziesz informacje o modelu DOM, korzystaniu z elementu canvas oraz obsłudze formularzy. Na koniec poznasz jeszcze tajniki optymalizacji kodu, żeby móc wycisnąć z JavaScriptu siódme poty. Książka ta jest doskonałą lekturą dla czytelników, którzy chcą bezproblemowo wkroczyć w świat tego języka!
Dzięki tej książce nauczysz się:
- podstaw programowania, składni, struktur sterujących i sposobów pracy z danymi.
- organizować kod w sposób klarowny przy użyciu technik programowania obiektowego i funkcyjnego.
- pisać skrypty do wykonywania w przeglądarkach i tworzyć podstawowe aplikacje sieciowe.
- efektywnie wykorzystywać model DOM do pracy z przeglądarkami.
- budować serwery i programy narzędziowe przy użyciu systemu Node.js.
Poznaj możliwości języka JavaScript!
Osoby które kupowały "Zrozumieć JavaScript. Wprowadzenie do programowania", wybierały także:
- D3.js w akcji 67,42 zł, (20,90 zł -69%)
- Tablice informatyczne. Node.js 16,86 zł, (5,90 zł -65%)
- Testowanie aplikacji w React.js. Kurs video. Praca z biblioteką Jest.js 69,00 zł, (27,60 zł -60%)
- JavaScript. Kurs video. Programowanie funkcyjne i reaktywne 98,98 zł, (39,59 zł -60%)
- AngularJS. Kurs video. Poziom pierwszy. Tworzenie aplikacji 119,00 zł, (47,60 zł -60%)
Spis treści
Zrozumieć JavaScript. Wprowadzenie do programowania eBook -- spis treści
Wprowadzenie (19)
- O programowaniu (20)
- Dlaczego język jest ważny (22)
- Co to jest JavaScript (24)
- Kod... - co to właściwie jest (25)
- Książka w ogólnym zarysie (26)
- Konwencje typograficzne (27)
CZĘŚĆ I. JĘZYK (29)
1. Wartości, typy i operatory (31)
- Wartości (32)
- Liczby (32)
- Arytmetyka (34)
- Liczby specjalne (34)
- Łańcuchy (35)
- Operatory jednoargumentowe (36)
- Wartości logiczne (37)
- Porównywanie (37)
- Operatory logiczne (38)
- Wartości niezdefiniowane (39)
- Automatyczna konwersja typów (39)
- Skrócona metoda wyznaczania wartości wyrażeń logicznych (40)
- Podsumowanie (41)
2. Struktura programu (43)
- Wyrażenia i instrukcje (43)
- Zmienne (44)
- Słowa kluczowe i zarezerwowane (46)
- Środowisko (46)
- Funkcje (47)
- Funkcja console.log (47)
- Wartości zwrotne (48)
- Funkcje prompt i confirm (48)
- Sterowanie sposobem wykonywania programu (49)
- Wykonywanie warunkowe (50)
- Pętle while i do (51)
- Stosowanie wcięć w kodzie (53)
- Pętle for (54)
- Wychodzenie z pętli (55)
- Zwięzłe modyfikowanie zmiennych (55)
- Rozdzielanie zadań przy użyciu instrukcji switch (56)
- Stosowanie wielkich liter (57)
- Komentarze (57)
- Podsumowanie (58)
- Ćwiczenia (59)
- Pętlowy trójkąt (59)
- FizzBuzz (59)
- Plansza do gry w szachy (59)
3. Funkcje (63)
- Definiowanie funkcji (64)
- Parametry i zakresy dostępności (65)
- Zagnieżdżone zakresy dostępności (66)
- Funkcje jako wartości (67)
- Sposób deklarowania funkcji (67)
- Stos wywołań (68)
- Argumenty opcjonalne (70)
- Zamknięcia (71)
- Rekurencja (72)
- Hodowanie funkcji (75)
- Funkcje i skutki uboczne (77)
- Podsumowanie (78)
- Ćwiczenia (78)
- Minimum (78)
- Rekurencja (78)
- Liczenie znaków (79)
4. Struktury danych - obiekty i tablice (81)
- Wiewiórkołak (82)
- Zbiory danych (82)
- Własności (83)
- Metody (84)
- Obiekty (85)
- Zmienność (88)
- Dziennik wiewiórkołaka (89)
- Obliczanie korelacji (90)
- Obiekty jako słowniki (92)
- Ostateczna analiza (93)
- Dalsza tablicologia (95)
- Łańcuchy i ich własności (96)
- Obiekt arguments (97)
- Obiekt Math (98)
- Obiekt globalny (100)
- Podsumowanie (100)
- Ćwiczenia (101)
- Suma przedziału liczb (101)
- Odwracanie tablicy (101)
- Lista (102)
- Porównywanie głębokie (102)
5. Funkcje wyższego rzędu (105)
- Abstrakcja (106)
- Abstrakcja operacji przeglądania tablicy (107)
- Funkcje wyższego rzędu (109)
- Przekazywanie argumentów (110)
- JSON (111)
- Filtrowanie tablicy (112)
- Przekształcanie tablic za pomocą metody map (113)
- Podsumowywanie przy użyciu metody reduce (114)
- Składalność (115)
- Koszty (116)
- Prapraprapra... (116)
- Wiązanie (119)
- Podsumowanie (120)
- Ćwiczenia (120)
- Spłaszczanie (120)
- Różnica wieku między matką i dzieckiem (120)
- Historyczna średnia długość życia (120)
- Wszystko i trochę (121)
6. Sekretne życie obiektów (123)
- Historia (123)
- Metody (125)
- Prototypy (126)
- Konstruktory (127)
- Przesłanianie dziedziczonych własności (128)
- Interferencja prototypów (129)
- Obiekty bez prototypów (131)
- Polimorfizm (132)
- Formowanie tabeli (132)
- Metody pobierające i ustawiające (137)
- Dziedziczenie (139)
- Operator instanceof (140)
- Podsumowanie (141)
- Ćwiczenia (141)
- Typ wektorowy (141)
- Kolejna komórka (142)
- Interfejs sekwencyjny (142)
7. Projekt - elektroniczne życie (145)
- Definicja (145)
- Reprezentacja przestrzeni (146)
- Interfejs programistyczny stworzeń (148)
- Obiekt World (149)
- Zmienna this i jej zakres dostępności (151)
- Animacja życia (153)
- Rusza się (155)
- Więcej form życia (156)
- Bardziej realistyczna symulacja (157)
- Funkcje obsługi czynności (158)
- Populacja nowego świata (160)
- Ożywianie świata (161)
- Ćwiczenia (162)
- Sztuczna głupota (162)
- Drapieżniki (163)
8. Błędy i obsługa błędów (165)
- Błędy programisty (165)
- Tryb ścisły (166)
- Testowanie (167)
- Debugowanie (168)
- Propagacja błędów (170)
- Wyjątki (171)
- Sprzątanie po wyjątkach (172)
- Selektywne przechwytywanie wyjątków (174)
- Asercje (176)
- Podsumowanie (177)
- Ćwiczenia (177)
- Spróbuj jeszcze raz (177)
- Zamknięte pudełko (177)
9. Wyrażenia regularne (181)
- Tworzenie wyrażeń regularnych (182)
- Dopasowywanie wzorców (182)
- Dopasowywanie zbiorów znaków (183)
- Powtarzanie części wzorca (184)
- Grupowanie podwyrażeń (185)
- Dopasowania i grupy (186)
- Typ Date (187)
- Granice słów i łańcuchów (188)
- Wzorce wyboru (189)
- Zasady dopasowywania (189)
- Wycofywanie (190)
- Metoda replace (192)
- Zachłanność (193)
- Dynamiczne tworzenie obiektów RegExp (195)
- Metoda search (195)
- Własność lastIndex (196)
- Przeglądanie dopasowanych elementów za pomocą pętli (197)
- Przetwarzanie plików INI (198)
- Znaki międzynarodowe (200)
- Podsumowanie (200)
- Ćwiczenia (201)
- Wyrażeniowy golf (201)
- Rodzaje cudzysłowów (202)
- Jeszcze raz liczby (202)
10. Moduły (203)
- Co dają moduły (203)
- Przestrzenie nazw (204)
- Wielokrotne wykorzystywanie kodu (204)
- Rozluźnienie powiązań (205)
- Funkcje w roli przestrzeni nazw (206)
- Obiekty jako interfejsy (207)
- Pomijanie zakresu globalnego (208)
- Wykonywanie danych jako kodu (209)
- Funkcja dołączająca (209)
- Powolne wczytywanie modułów (211)
- Projektowanie interfejsu (214)
- Przewidywalność (214)
- Możliwość składania (215)
- Interfejsy warstwowe (215)
- Podsumowanie (216)
- Ćwiczenia (216)
- Nazwy miesięcy (216)
- Powrót do elektronicznego życia (216)
- Zależności cykliczne (217)
11. Projekt - język programowania (219)
- Analiza składni (219)
- Ewaluator (223)
- Specjalne konstrukcje (224)
- Środowisko (226)
- Funkcja (228)
- Kompilacja (229)
- Ściąganie (229)
- Ćwiczenia (230)
- Tablice (230)
- Zamknięcie (230)
- Komentarze (231)
- Naprawienie zakresu (231)
CZĘŚĆ II. PRZEGLĄDARKI INTERNETOWE (233)
12. JavaScript i przeglądarki internetowe (235)
- Sieci i internet (236)
- Sieć ogólnoświatowa (237)
- HTML (238)
- HTML i JavaScript (240)
- Piaskownica (241)
- Zgodność i wojny przeglądarkowe (241)
13. Obiektowy model dokumentu (243)
- Struktura dokumentu (243)
- Drzewa (245)
- Standard (246)
- Poruszanie się po drzewie (246)
- Znajdowanie elementów (248)
- Modyfikowanie dokumentu (249)
- Tworzenie węzłów (249)
- Atrybuty (251)
- Rozmieszczenie elementów na stronie (253)
- Style (255)
- Kaskadowe arkusze stylów (257)
- Selektory (258)
- Pozycjonowanie i animowanie (259)
- Podsumowanie (261)
- Ćwiczenia (262)
- Budowa tabeli (262)
- Elementy według nazwy znacznika (262)
- Kapelusz kota (263)
14. Obsługa zdarzeń (265)
- Procedury obsługi zdarzeń (265)
- Zdarzenia i węzły DOM (266)
- Obiekty zdarzeń (267)
- Propagacja (268)
- Działania domyślne (269)
- Zdarzenia klawiszy (270)
- Kliknięcia myszą (272)
- Ruch myszy (273)
- Zdarzenia przewijania (275)
- Zdarzenia aktywacji (276)
- Zdarzenie load (277)
- Czas wykonywania skryptu (277)
- Zegary (279)
- Eliminowanie skutków zbyt częstego wyzwalania zdarzeń (280)
- Podsumowanie (281)
- Ćwiczenia (282)
- Cenzura klawiatury (282)
- Trop myszy (282)
- Karty (282)
15. Projekt - gra platformowa (285)
- Gra (286)
- Technologia (286)
- Poziomy (287)
- Wczytywanie poziomu (288)
- Aktorzy (289)
- Hermetyzacja jako obciążenie (291)
- Rysowanie (292)
- Ruch i kolizje (297)
- Aktorzy i czynności (299)
- Śledzenie klawiszy (303)
- Uruchamianie gry (303)
- Ćwiczenia (306)
- Koniec gry (306)
- Wstrzymywanie gry (306)
16. Rysowanie na kanwie (309)
- SVG (310)
- Kanwa (311)
- Wypełnienie i obrys (312)
- Ścieżki (312)
- Krzywe (314)
- Rysowanie wykresu kołowego (317)
- Tekst (318)
- Obrazy (319)
- Przekształcenia (320)
- Zapisywanie i kasowanie przekształceń (323)
- Powrót do gry (324)
- Wybór interfejsu graficznego (329)
- Podsumowanie (330)
- Ćwiczenia (331)
- Kształty (331)
- Wykres kołowy (331)
- Odbijająca się piłka (332)
- Obliczenia na zapas (332)
17. HTTP (335)
- Protokół (335)
- Przeglądarki i HTTP (337)
- XMLHttpRequest (339)
- Wysyłanie żądania (339)
- Żądania asynchroniczne (341)
- Pobieranie danych XML (341)
- Piaskownica dla HTTP (342)
- Abstrahowanie żądań (343)
- Obietnice (345)
- Docenianie HTTP (348)
- Bezpieczeństwo i HTTPS (348)
- Podsumowanie (349)
- Ćwiczenia (350)
- Negocjacja treści (350)
- Oczekiwanie na wiele obietnic (350)
18. Formularze i pola formularza (353)
- Pola (354)
- Aktywacja (355)
- Wyłączanie pól (356)
- Formularz jako całość (357)
- Pola tekstowe (358)
- Pola wyboru i przyciski radiowe (359)
- Pola opcji do wyboru (360)
- Pola plikowe (362)
- Zapisywanie danych u klienta (364)
- Podsumowanie (366)
- Ćwiczenia (367)
- Pracownia JavaScript (367)
- Automatyczne uzupełnianie (367)
- Gra w życie Conwaya (367)
19. Projekt - program rysunkowy (369)
- Implementacja (370)
- Tworzenie modelu DOM (370)
- Podstawa (371)
- Wybór narzędzi (372)
- Kolor i rozmiar pędzla (374)
- Zapisywanie (376)
- Wczytywanie obrazów z plików (377)
- Wykończenie (379)
- Ćwiczenia (380)
- Prostokąty (380)
- Próbnik kolorów (381)
- Wypełnianie zalewowe (382)
CZĘŚĆ III. WIĘCEJ NIŻ JAVASCRIPT (385)
20. Node.js (387)
- Podstawy (388)
- Asynchroniczność (388)
- Polecenie node (389)
- Moduły (391)
- Instalowanie modułów z repozytorium NPM (392)
- Moduł systemu plików (393)
- Moduł HTTP (395)
- Strumienie (396)
- Prosty serwer plików (398)
- Obsługa błędów (402)
- Podsumowanie (404)
- Ćwiczenia (404)
- Negocjacja treści raz jeszcze (404)
- Tamowanie wycieku (405)
- Tworzenie katalogów (405)
- Publiczna przestrzeń w internecie (406)
21. Projekt - serwis dla pasjonatów (407)
- Projekt (408)
- Długie sondowanie (409)
- Interfejs HTTP (410)
- Serwer (412)
- Trasowanie (412)
- Serwowanie plików (413)
- Przemowy jako zasoby (414)
- Długie sondowanie (416)
- Klient (419)
- HTML (419)
- Uruchamianie (421)
- Wyświetlanie przemów (422)
- Aktualizowanie serwera (424)
- Pokazywanie zmian (426)
- Ćwiczenia (427)
- Zapisywanie danych na dysku (427)
- Resetowanie pól komentarzy (427)
- Lepsze szablony (427)
- Wykluczeni ze skryptów (428)
22. Wydajność JavaScriptu (429)
- Kompilacja etapowa (430)
- Układ grafowy (431)
- Definiowanie grafu (432)
- Pierwsza funkcja rozkładu ukierunkowanego siłowo (433)
- Profilowanie (435)
- Rozwijanie funkcji (437)
- Powrót do klasycznych pętli (438)
- Unikanie pracy (438)
- Zmniejszanie ilości śmieci (439)
- Usuwanie nieużytków (440)
- Zapisywanie danych w obiektach (441)
- Typy dynamiczne (443)
- Podsumowanie (444)
- Ćwiczenia (444)
- Znajdowanie drogi (444)
- Mierzenie czasu (445)
- Optymalizacja (446)
Podpowiedzi do ćwiczeń (447)
- Struktura programu (447)
- Pętlowy trójkąt (447)
- FizzBuzz (448)
- Plansza do gry w szachy (448)
- Funkcje (448)
- Minimum (448)
- Rekurencja (448)
- Liczenie znaków (449)
- Struktury danych - obiekty i tablice (449)
- Suma przedziału liczb (449)
- Odwracanie tablicy (449)
- Lista (450)
- Porównywanie głębokie (450)
- Funkcje wyższego rzędu (451)
- Różnica wieku między matką i dzieckiem (451)
- Historyczna średnia długość życia (451)
- Wszystko i trochę (451)
- Sekretne życie obiektów (452)
- Typ wektorowy (452)
- Kolejna komórka (452)
- Interfejs sekwencyjny (452)
- Projekt - elektroniczne życie (453)
- Sztuczna głupota (453)
- Drapieżniki (453)
- Błędy i obsługa błędów (453)
- Spróbuj jeszcze raz (453)
- Zamknięte pudełko (454)
- Wyrażenia regularne (454)
- Rodzaje cudzysłowów (454)
- Jeszcze raz liczby (454)
- Moduły (455)
- Nazwy miesięcy (455)
- Powrót do elektronicznego życia (455)
- Zależności cykliczne (456)
- Projekt - język programowania (456)
- Tablice (456)
- Zamknięcie (456)
- Komentarze (456)
- Naprawienie zakresu (457)
- Obiektowy model dokumentu (457)
- Budowa tabeli (457)
- Elementy według nazwy znacznika (457)
- Obsługa zdarzeń (458)
- Cenzura klawiatury (458)
- Trop myszy (458)
- Karty (458)
- Projekt - gra platformowa (459)
- Koniec gry (459)
- Wstrzymywanie gry (459)
- Rysowanie na kanwie (460)
- Kształty (460)
- Wykres kołowy (460)
- Odbijająca się piłka (461)
- Obliczenia na zapas (461)
- HTTP (461)
- Negocjacja treści (461)
- Oczekiwanie na wiele obietnic (462)
- Formularze i pola formularza (462)
- Pracownia JavaScript (462)
- Automatyczne uzupełnianie (462)
- Gra w życie Conwaya (463)
- Projekt - program rysunkowy (463)
- Prostokąty (463)
- Próbnik kolorów (464)
- Wypełnianie zalewowe (464)
- Node.js (465)
- Negocjacja treści raz jeszcze (465)
- Tamowanie wycieku (465)
- Tworzenie katalogów (466)
- Publiczna przestrzeń w internecie (466)
- Projekt - serwis dla pasjonatów (466)
- Zapisywanie danych na dysku (466)
- Resetowanie pól komentarzy (467)
- Lepsze szablony (467)
- Wykluczeni ze skryptów (467)
- Wydajność JavaScriptu (468)
- Znajdowanie drogi (468)
- Optymalizacja (468)
Skorowidz (469)