Szczegóły ebooka

JavaScript. Przewodnik dla absolutnie początkujących

JavaScript. Przewodnik dla absolutnie początkujących

Kirupa Chinnathambi

Ebook

Naukę języka programowania można porównać do nauki języka obcego: jedno i drugie wymaga sporej ilości wysiłku i systematyczności. Trzeba najpierw przyswoić sobie podstawy, potem przejść do bardziej złożonych zagadnień i jak najwięcej ćwiczyć. JavaScript szczególnie dobrze nadaje się do nauki programowania, a przy tym jest językiem elastycznym i wciąż rozwijanym. W połączeniu z CSS3 i HTML5 pozwala na tworzenie wszechstronnych aplikacji internetowych i mobilnych.

Książka, którą trzymasz w dłoni, jest przystępnie napisanym, praktycznym podręcznikiem programowania w JavaScripcie. Zawarte tu wyjaśnienia, wskazówki i proste instrukcje pozwolą Ci na bardzo szybkie przyswojenie sobie podstaw tego języka, nawet jeśli dopiero zaczynasz przygodę z kodowaniem. Po przedstawieniu podstaw programowania wyjaśniono nieco bardziej złożone koncepcje, posługując się licznymi — często bardzo zabawnymi — przykładami. Lektura książki jest przy tym niezwykle interesująca i przyjemna. Po zakończeniu ostatniego rozdziału będziesz przygotowany, by sprostać większości wyzwań związanych z językiem JavaScript.

  • Jak zacząć pisać kod i gdzie go umieścić
  • Wykorzystanie zmiennych, funkcji i pętli
  • Co to jest zakres globalny i lokalny
  • Czym są domknięcia
  • Programowanie obiektowe w JavaScripcie
  • Operacje na danych tekstowych i listy danych

JavaScript: dzięki niemu stron WWW stają się piękniejsze, lepsze i bardziej imponujące!

Wprowadzenie (13)

1. Witaj, świecie! (17)

  • Co to jest JavaScript? (19)
  • Prosty przykład (20)
    • Narzędzia do edycji kodu (20)
    • Dokument HTML (20)
  • Analiza kodu - polecenia i funkcje (22)

CZĘŚĆ I. PODSTAWY

2. Wartości i zmienne (25)

  • Używanie zmiennych (26)
  • Więcej informacji na temat zmiennych (27)
    • Nazywanie zmiennych (27)
    • Więcej informacji na temat deklarowania i inicjowania zmiennych (28)

3. Funkcje (31)

  • Czym jest funkcja? (33)
    • Prosta funkcja (33)
  • Tworzenie funkcji przyjmującej argumenty (35)
  • Tworzenie funkcji zwracającej dane (37)
    • Słowo kluczowe return (38)
    • Wcześniejsze wychodzenie z funkcji (38)

4. Instrukcje warunkowe: if, else i switch (41)

  • Instrukcja if-else (42)
    • Poznaj operatory warunkowe (44)
    • Tworzenie bardziej złożonych wyrażeń (45)
    • Wariacje na temat instrukcji if-else (46)
    • Samodzielna instrukcja if (46)
    • Przerażająca instrukcja if-else/if-else (47)
    • Uff (47)
  • Instrukcje switch (48)
    • Korzystanie z instrukcji switch (48)
    • Podobieństwo do instrukcji if-else (50)
  • Wybór właściwej instrukcji (51)

5. Poznaj pętle: for, while oraz do...while! (53)

  • Pętla for (54)
    • Warunek rozpoczynający (56)
    • Warunek kończący (czyli czy już skończyliśmy?) (56)
    • Docieramy do końca (57)
    • Zbierając wszystko razem (57)
  • Kilka przykładów pętli for (58)
    • Wcześniejsze przerywanie pętli (58)
    • Pomijanie iteracji (58)
    • Odliczanie wstecz (59)
    • Nie trzeba używać liczb (59)
    • Tablica! Tablica! Tablica! (59)
    • O nie, nie zrobił tego! (60)
  • Pozostałe pętle (60)
    • Pętla while (60)
    • Pętla do...while (61)

6. Timery (63)

  • Poznaj trzy timery (64)
    • Opóźnianie za pomocą funkcji setTimeout (64)
    • Zapętlenie za pomocą funkcji setInterval (65)
    • Płynne animowanie za pomocą funkcji requestAnimationFrame (66)

7. Zakres zmiennych (69)

  • Zakres globalny (70)
  • Zakres lokalny (71)
  • Różne krętactwa przy ustalaniu zakresu (72)
    • Deklaracje wykorzystujące słowo kluczowe var nie obsługują zakresu bloku (72)
  • Jak JavaScript przetwarza zmienne (74)
  • Domknięcia (75)

8. Domknięcia (77)

  • Funkcje wewnątrz funkcji (78)
  • Gdy funkcje wewnętrzne nie są samowystarczalne (81)

9. Gdzie należy umieścić kod? (87)

  • Wszystkie opcje na stół (88)
  • Podejście nr 1: cały kod jest umieszczony w dokumencie HTML (90)
  • Podejście nr 2: kod znajduje się w osobnym pliku (91)
    • Plik JavaScript (91)
    • Odwoływanie się do pliku JavaScript (92)
  • Które podejście zastosować? (94)
    • Tak, mój kod będzie używany w wielu dokumentach (94)
    • Nie, mój kod jest używany tylko raz w pojedynczym dokumencie HTML (95)

10. Komentowanie kodu (97)

  • Czym są komentarze? (98)
    • Komentarze jednoliniowe (99)
    • Komentarze wieloliniowe (99)
  • Dobre praktyki komentowania (101)

CZĘŚĆ II. ŚWIAT PEŁEN OBIEKTÓW

11. O pizzy, typach, prymitywach i obiektach (103)

  • Najpierw porozmawiajmy o pizzy (104)
  • Od pizzy do języka JavaScript (106)
  • Czym są obiekty? (108)
  • Predefiniowane obiekty na swobodzie (109)

12. Łańcuchy znaków (111)

  • Podstawy (112)
  • Właściwości i metody obiektu String (114)
    • Uzyskiwanie dostępu do poszczególnych znaków (114)
    • Łączenie (czyli konkatenacja) łańcuchów znaków (115)
    • Tworzenie podłańcuchów z łańcuchów znaków (116)
    • Dzielenie łańcucha znaków - metoda split (117)
    • Szukanie czegoś wewnątrz łańcucha znaków (118)
    • Łańcuchy znaków z wielkimi i małymi literami (119)

13. Kiedy prymitywy zachowują się jak obiekty (121)

  • Łańcuchy znaków nie są jedynym problemem (122)
  • Tak czy inaczej, przyczepmy się do łańcuchów znaków (122)
  • Dlaczego ma to znaczenie (124)

14. Tablice (127)

  • Tworzenie tablicy (128)
  • Uzyskiwanie dostępu do wartości tablicy (129)
  • Dodawanie elementów do tablicy (130)
  • Usuwanie elementów z tablicy (132)
  • Szukanie elementów w tablicy (134)
  • Scalanie tablic (134)

15. Liczby (137)

  • Używanie liczb (138)
  • Operatory (138)
    • Wykonywanie prostych działań matematycznych (139)
    • Inkrementacja i dekrementacja (139)
  • Wartości specjalne - nieskończoność i NaN (141)
    • Nieskończoność (141)
    • NaN (141)
  • Obiekt Math (142)
    • Stałe (142)
    • Zaokrąglanie liczb (143)
    • Funkcje trygonometryczne (144)
    • Potęgi i pierwiastki kwadratowe (145)
    • Uzyskanie wartości bezwzględnej (145)
    • Liczby losowe (145)

16. Głębsze spojrzenie na obiekty (147)

  • Poznaj typ Object (148)
    • Tworzenie obiektów (149)
    • Określanie właściwości (152)
  • Tworzenie niestandardowych obiektów (154)
  • Słowo kluczowe this (158)

17. Rozszerzanie obiektów wbudowanych (161)

  • Przywitaj się ponownie z prototypem - w pewnym sensie (162)
  • Rozszerzanie wbudowanych obiektów jest kontrowersyjne (166)
    • Nie kontrolujemy przyszłości wbudowanego obiektu (166)
    • Niektóre funkcjonalności nie powinny być rozszerzane ani nadpisywane (166)

18. Wartości logiczne i ściślejsze operatory === oraz !== (169)

  • Obiekt Boolean (170)
  • Funkcja Boolean (170)
  • Operatory identyczności i nieidentyczności (172)

19. Wartości null i undefined (175)

  • Null (176)
  • Undefined (177)

20. Natychmiastowo wywoływane wyrażenia funkcyjne (179)

  • Pisanie prostego IIFE (181)
  • Pisanie IIFE, które przyjmuje argumenty (182)
  • Kiedy używać IIFE (183)
    • Unikanie kolizji kodu (183)
    • Domknięcia i stan zablokowania (184)
  • Zapewnianie prywatności elementów (188)

CZĘŚĆ III. PRACA Z DOM

21. JS, przeglądarka i model DOM (193)

  • Do czego służą HTML, CSS i JavaScript (194)
  • HTML definiuje strukturę (194)
  • Upiększ mój świat, CSS! (196)
  • Nadszedł czas na JavaScript! (196)
  • Poznaj obiektowy model dokumentu (197)
    • Obiekt window (199)
    • Obiekt document (200)

22. Szukanie elementów w strukturze DOM (203)

  • Poznaj rodzinę querySelector (204)
    • Funkcja querySelector (204)
    • Funkcja querySelectorAll (205)
  • To naprawdę jest składnia selektora CSS (206)

23. Modyfikowanie elementów DOM (209)

  • Elementy DOM są obiektami - w pewnym sensie! (210)
  • Przejdźmy do modyfikowania elementów DOM (212)
    • Zmiana wartości tekstowej elementu (213)
    • Wartości atrybutów (214)

24. Nadawanie stylu zawartości (217)

  • Dlaczego należy ustawiać style przy użyciu JavaScriptu? (218)
    • Przypowieść o dwóch podejściach nadawania stylów (218)
    • Ustawianie stylu bezpośrednio (219)
  • Dodawanie i usuwanie klas za pomocą classList (220)
    • Dodawanie wartości klas (220)
    • Usuwanie wartości klas (220)
    • Przełączanie wartości klas (221)
    • Sprawdzanie, czy wartość klasy istnieje (221)
    • Idąc dalej (221)

25. Przechodzenie przez drzewo DOM (223)

  • Szukanie drogi (224)
    • Obchodzenie się z rodzeństwem i rodzicami (226)
    • Zróbmy sobie dzieci! (227)
  • Zbierają wszystko razem (228)
    • Sprawdzanie, czy istnieje element potomny (228)
    • Uzyskiwanie dostępu do wszystkich elementów potomnych (228)
    • Przechodzenie przez DOM (229)

26. Tworzenie i usuwanie elementów DOM (231)

  • Tworzenie elementów (232)
  • Usuwanie elementów (237)
  • Klonowanie elementów (238)

27. Narzędzia dla programistów wbudowane w przeglądarki (243)

  • Poznaj Narzędzia dla programistów (244)
    • Badanie struktury DOM (246)
    • Debugowanie kodu JavaScript (249)
    • Poznaj konsolę (254)
    • Badanie obiektów (255)
    • Rejestrowanie wiadomości (256)

CZĘŚĆ IV. OBSŁUGA ZDARZEŃ

28. Zdarzenia (259)

  • Czym są zdarzenia? (260)
  • Zdarzenia i JavaScript (262)
    • 1. Nasłuchiwanie zdarzeń (262)
    • 2. Reagowanie na zdarzenia (264)
  • Prosty przykład (264)
  • Argumenty zdarzenia oraz typ Event (266)

29. Bąbelkowanie i przechwytywanie zdarzeń (269)

  • Zdarzenie wędruje w dół, a potem w górę (270)
  • Poznaj fazy (273)
  • Kogo to obchodzi? (275)
  • Przerwanie zdarzenia (276)

30. Zdarzenia myszy (281)

  • Poznaj zdarzenia myszy (282)
    • Pojedyncze i dwukrotne kliknięcie (282)
    • Zdarzenia mouseover i mouseout (284)
    • Przypominające kliknięcie zdarzenia wciskania i zwalniania przycisku myszy (285)
    • Zdarzenie podsłuchane ponownie... i ponownie... i ponownie (286)
    • Menu kontekstowe (287)
  • Właściwości obiektu MouseEvent (288)
    • Globalna pozycja myszy (288)
    • Pozycja myszy w przeglądarce (289)
    • Wykrywanie, który przycisk został kliknięty (289)
  • Obsługa kółka myszy (291)

31. Zdarzenia klawiatury (293)

  • Poznaj zdarzenia klawiatury (294)
  • Używanie tych zdarzeń (295)
  • Właściwości zdarzenia klawiatury (296)
  • Kilka przykładów (296)
    • Sprawdzanie, czy naciśnięty został konkretny klawisz (297)
    • Wykonanie jakiejś akcji po naciśnięciu klawiszy strzałek (297)
    • Wykrywanie naciśnięcia wielu klawiszy (298)

32. Zdarzenia ładowania strony i inne kwestie (301)

  • Co się dzieje podczas ładowania strony (302)
    • Etap numero uno (303)
    • Etap numero dos (303)
    • Etap numero trzy (304)
  • Zdarzenia DOMContentLoaded i load (304)
  • Skrypty i ich lokalizacja w strukturze DOM (306)
  • Elementy script - atrybuty async i defer (308)
    • Atrybut async (308)
    • Atrybut defer (309)

33. Obsługa zdarzeń dla wielu elementów (311)

  • Jak to wszystko zrobić? (314)
    • Okropne rozwiązanie (315)
    • Dobre rozwiązanie (315)
    • Podsumowanie (318)

34. Podsumowanie (321)

Słowniczek (323)

Skorowidz (326)

  • Tytuł: JavaScript. Przewodnik dla absolutnie początkujących
  • Autor: Kirupa Chinnathambi
  • Tytuł oryginału: JavaScript Absolute Beginner's Guide
  • Tłumaczenie: Lech Lachowski
  • ISBN: 978-83-283-3181-5, 9788328331815
  • Data wydania: 2017-03-24
  • Format: Ebook
  • Identyfikator pozycji: javpap
  • Wydawca: Helion