JavaScript. Przewodnik dla absolutnie początkujących - Helion
Tytuł oryginału: JavaScript Absolute Beginner's Guide
Tłumaczenie: Lech Lachowski
ISBN: 978-83-283-3180-8
stron: 328, Format: 168x237, okładka: miękka
Data wydania: 2017-03-24
Księgarnia: Helion
Cena książki: 59,00 zł
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!
Kirupa Chinnathambi jest menedżerem programowania w Microsofcie. Od dzieciństwa pisze kod i animacje komputerowe, jednak jego prawdziwą pasją jest tworzenie stron WWW. Od kilkunastu lat uczy innych tej sztuki: publikuje poradniki na swojej stronie kirupa.com, pisze artykuły i książki, nagrał również sporo filmików, które można znaleźć na stronach serwisu YouTube. W wolnych chwilach grywa w gry wideo, chodzi na koncerty, ogląda filmy i spędza czas z przyjaciółmi.
Osoby które kupowały "JavaScript. Przewodnik dla absolutnie początkujących", 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%)
- React i GatsbyJS. Kurs video. Nowoczesne strony internetowe w oparciu o headless CMS i GraphQL 148,98 zł, (59,59 zł -60%)
- TypeScript i React. Kurs video. Tworzenie nowoczesnych komponent 129,00 zł, (51,60 zł -60%)
- Vue.js w praktyce. Kurs video. Poznaj narz 148,98 zł, (59,59 zł -60%)
Spis treści
JavaScript. Przewodnik dla absolutnie początkujących -- spis treści
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)