ksiegarnia-fachowa.pl
wprowadź własne kryteria wyszukiwania książek: (jak szukać?)
Twój koszyk:   0 zł   zamówienie wysyłkowe >>>
Strona główna > opis książki

ZROZUMIEĆ JAVASCRIPT WPROWADZENIE DO PROGRAMOWANIA


HAVERBEKE M.

wydawnictwo: HELION , rok wydania 2020, wydanie III

cena netto: 89.00 Twoja cena  84,55 zł + 5% vat - dodaj do koszyka

Zrozumieć JavaScript

Wprowadzenie do programowania

JavaScript ma długą i ciekawą historię. Obecnie to jeden z najpopularniejszych języków programowania. Jego zalety to nowoczesność, wszechstronność, elastyczność i wydajność. Jest przy tym idealny dla początkujących użytkowników: można się go łatwo nauczyć i równocześnie od razu przyzwyczaić się do stosowania dobrych praktyk i pisania czystego, ładnego kodu. Mimo to uzyskanie prawdziwej biegłości wymaga pracy i ćwiczeń. Jest to jednak wysiłek, który warto podjąć, gdyż JavaScript jest doskonałym wyborem dla profesjonalnych twórców aplikacji. Co więcej, wszystko wskazuje na to, że jeszcze długo będzie rozwijany i doskonalony przez skupioną wokół niego społeczność entuzjastów.

To trzecie, wzbogacone i uzupełnione wydanie popularnego podręcznika programowania dla początkujących. Znalazło się tu wyczerpujące wyjaśnienie podstawowych zasad programowania oraz struktury języka JavaScript. Omówiono techniki testowania kodu i obsługi błędów, tworzenia kodu modułowego, zaprezentowano również koncepcję programowania asynchronicznego. Już na początku pokazano przykłady kodu, opisy projektów oraz liczne ćwiczenia do samodzielnego wykonania. Poszczególne koncepcje i techniki są przedstawiane na przykładach konkretnych, działających aplikacji, takich jak gra przeglądarkowa, prosty język programowania i program do rysowania.

W książce między innymi:

  • solidne podstawy: składnia, struktury sterujące i praca z danymi
  • zasady programowania obiektowego i funkcyjnego
  • tworzenie skryptów do wykonywania w przeglądarkach
  • podstawy projektowania aplikacji sieciowych
  • model DOM i jego zastosowanie
  • korzystanie z Node.js

Wprowadzenie 19

CZĘŚĆ I. JĘZYK

1. Wartości, typy i operatory 31

Wartości 32
Liczby 32
Arytmetyka 33
Liczby specjalne 34
Łańcuchy 35
Operatory jednoargumentowe 36
Wartości logiczne 37
Porównywanie 37
Operatory logiczne 38
Wartości puste 39
Automatyczna konwersja typów 40
Skrócona metoda wyznaczania wartości wyrażeń logicznych 41
Podsumowanie 42

2. Struktura programu 45

Wyrażenia i instrukcje 45
Wiązania 46
Nazwy wiązań 48
Środowisko 49
Funkcje 49
Funkcja console.log 50
Wartości zwrotne 50
Sterowanie sposobem wykonywania programu 51
Wykonywanie warunkowe 51
Pętle while i do 53
Stosowanie wcięć w kodzie 55
Pętle for 56
Wychodzenie z pętli 56
Zwięzłe modyfikowanie wiązań 57
Rozdzielanie zadań przy użyciu instrukcji switch 58
Stosowanie wielkich liter 59
Komentarze 59
Podsumowanie 60
Ćwiczenia 60
Pętlowy trójkąt 61
FizzBuzz 61
Szachownica 61

3. Funkcje 65

Definiowanie funkcji 65
Wiązania i zakresy 67
Zagnieżdżone zakresy dostępności 68
Funkcje jako wartości 68
Sposób deklarowania funkcji 69
Funkcje strzałkowe 69
Stos wywołań 70
Argumenty opcjonalne 72
Zamknięcia 73
Rekurencja 74
Hodowanie funkcji 77
Funkcje i skutki uboczne 79
Podsumowanie 80
Ćwiczenia 81
Minimum 81
Rekurencja 81
Liczenie znaków 81

4. Struktury danych - obiekty i tablice 83

Wiewiórkołak 84
Zbiory danych 84
Własności 85
Metody 86
Obiekty 87
Zmienność 89
Dziennik wiewiórkołaka 90
Obliczanie korelacji 92
Pętle tablicowe 94
Ostateczna analiza 94
Dalsza tablicologia 96
Łańcuchy i ich własności 97
Parametry resztowe 99
Obiekt Math 100
Destrukturyzacja 102
JSON 103
Podsumowanie 104
Ćwiczenia 104
Suma przedziału liczb 104
Odwracanie tablicy 104
Lista 105
Porównywanie głębokie 106

5. Funkcje wyższego rzędu 109

Abstrakcja 110
Abstrakcja powtarzalnych operacji 111
Funkcje wyższego rzędu 112
Zbiór danych na temat alfabetów 113
Filtrowanie tablicy 114
Przekształcanie tablic za pomocą metody map 115
Podsumowywanie przy użyciu metody reduce 115
Składalność 117
Łańcuchy i kody znaków 118
Rozpoznawanie tekstu 120
Podsumowanie 121
Ćwiczenia 122
Spłaszczanie 122
Własna pętla 122
Wszystko 122
Dominujący kierunek pisma 122

6. Sekretne życie obiektów 125

Hermetyzacja 125
Metody 126
Prototypy 127
Klasy 129
Notacja klasowa 130
Przesłanianie dziedziczonych własności 131
Mapy 132
Polimorfizm 134
Symbole 135
Interfejs Iterator 136
Metody pobierające i ustawiające oraz własności statyczne 138
Dziedziczenie 139
Operator instanceof 141
Podsumowanie 141
Ćwiczenia 142
Typ wektorowy 142
Grupy 142
Grupy umożliwiające iterację 143
Pożyczanie metody 143

7. Projekt - robot 145

Meadowfield 145
Zadanie 147
Zapisywanie danych 148
Symulacja 149
Trasa dla samochodu dostawczego 151
Szukanie drogi 152
Ćwiczenia 154
Porównywanie robotów 154
Efektywność robota 154
Trwała grupa 154

8. Błędy i obsługa błędów 157

Język 157
Tryb ścisły 158
Typy 159
Testowanie 160
Debugowanie 161
Propagacja błędów 163
Wyjątki 164
Sprzątanie po wyjątkach 165
Selektywne przechwytywanie wyjątków 167
Asercje 169
Podsumowanie 170
Ćwiczenia 170
Spróbuj jeszcze raz 170
Zamknięte pudełko 170

9. Wyrażenia regularne 173

Tworzenie wyrażeń regularnych 174
Dopasowywanie wzorców 174
Zbiory znaków 175
Powtarzanie części wzorca 176
Grupowanie podwyrażeń 177
Dopasowania i grupy 178
Typ Date 179
Granice słów i łańcuchów 180
Wzorce wyboru 181
Zasady dopasowywania 181
Wycofywanie 182
Metoda replace 184
Zachłanność 185
Dynamiczne tworzenie obiektów RegExp 186
Metoda search 187
Własność lastIndex 188
Przeglądanie dopasowanych elementów za pomocą pętli 189
Przetwarzanie plików INI 190
Znaki międzynarodowe 192
Podsumowanie 193
Ćwiczenia 194
Wyrażeniowy golf 194
Apostrofy 195
Jeszcze raz liczby 195

10. Moduły 197

Moduły jako elementy składowe 198
Pakiety 198
Improwizacja zamiast modułów 200
Wykonywanie danych jako kodu 200
CommonJS 201
Moduły ECMAScript 203
Paczki 205
Projektowanie modułów 205
Podsumowanie 207
Ćwiczenia 208
Modularny robot 208
Moduł Roads 208
Zależności cykliczne 208

11. Programowanie asynchroniczne 211

Asynchroniczność 212
Wronia technologia 213
Wywołania zwrotne 214
Obietnice 216
Błędy 217
Sieci są problematyczne 219
Kolekcje obietnic 221
Zalewanie sieci 222
Rozsyłanie komunikatów 223
Funkcje asynchroniczne 225
Generatory 227
Pętla zdarzeń 228
Błędy asynchroniczne 229
Podsumowanie 231
Ćwiczenia 231
Śledzenie skalpela 231
Budowa metody Promise.all 231

12. Projekt - język programowania 235

Analiza składni 235
Ewaluator 239
Specjalne konstrukcje 241
Środowisko 242
Funkcja 244
Kompilacja 245
Ściąganie 246
Ćwiczenia 247
Tablice 247
Zamknięcie 247
Komentarze 247
Naprawienie zakresu 247

CZĘŚĆ II. PRZEGLĄDARKI INTERNETOWE

13. JavaScript i przeglądarki internetowe 251

Sieci i internet 252
Sieć ogólnoświatowa 253
HTML 254
HTML i JavaScript 256
Piaskownica 257
Zgodność i wojny przeglądarkowe 258

14. Obiektowy model dokumentu 261

Struktura dokumentu 261
Drzewa 263
Standard 264
Poruszanie się po drzewie 264
Znajdowanie elementów 266
Modyfikowanie dokumentu 267
Tworzenie węzłów 267
Atrybuty 269
Rozmieszczenie elementów na stronie 270
Style 272
Kaskadowe arkusze stylów 273
Selektory 275
Pozycjonowanie i animowanie 276
Podsumowanie 278
Ćwiczenia 278
Budowa tabeli 278
Elementy według nazwy znacznika 279
Kapelusz kota 279

15. Obsługa zdarzeń 281

Procedury obsługi zdarzeń 281
Zdarzenia i węzły DOM 282
Obiekty zdarzeń 283
Propagacja 284
Działania domyślne 285
Zdarzenia klawiszy 286
Zdarzenia wskazujące 287
Kliknięcia myszą 287
Ruch myszy 288
Zdarzenia dotyku 290
Zdarzenia przewijania 291
Zdarzenia aktywacji 292
Zdarzenie load 293
Zdarzenia i pętla zdarzeń 294
Zegary 295
Eliminowanie skutków zbyt częstego wyzwalania zdarzeń 295
Podsumowanie 297
Ćwiczenia 297
Balon 297
Trop myszy 297
Karty 298

16. Projekt - gra platformowa 301

Gra 302
Technologia 302
Poziomy 303
Wczytywanie poziomu 304
Aktorzy 305
Hermetyzacja jako obciążenie 308
Rysowanie 309
Ruch i kolizje 314
Aktualizacja aktorów 317
Śledzenie klawiszy 319
Uruchamianie gry 319
Ćwiczenia 321
Koniec gry 321
Wstrzymywanie gry 322
Potwór 322

17. Rysowanie na kanwie 325

SVG 326
Kanwa 327
Linie i powierzchnie 328
Ścieżki 329
Krzywe 330
Rysowanie wykresu kołowego 332
Tekst 334
Obrazy 334
Przekształcenia 336
Zapisywanie i kasowanie przekształceń 338
Powrót do gry 340
Wybór interfejsu graficznego 345
Podsumowanie 345
Ćwiczenia 346
Kształty 346
Wykres kołowy 347
Odbijająca się piłka 347
Obliczenia na zapas 347

18. HTTP i formularze 349

Protokół 349
Przeglądarki i HTTP 351
Interfejs fetch 353
Piaskownica dla HTTP 354
Docenianie HTTP 355
Bezpieczeństwo i HTTPS 356
Pola formularza 356
Aktywacja 358
Wyłączanie pól 359
Formularz jako całość 360
Pola tekstowe 361
Pola wyboru i przyciski radiowe 362
Pola opcji do wyboru 363
Pola plikowe 364
Zapisywanie danych u klienta 366
Podsumowanie 368
Ćwiczenia 369
Negocjacja treści 369
Pracownia JavaScript 369
Gra w życie Conwaya 370

19. Projekt - edytor obrazków pikselowych 373

Składniki 374
Stan 375
Budowa struktury DOM 377
Kanwa 378
Aplikacja 380
Narzędzia do rysowania 382
Zapisywanie i ładowanie 384
Historia 387
Narysujmy coś 389
Dlaczego to jest takie trudne? 390
Ćwiczenia 390
Powiązania z klawiaturą 390
Efektywne rysowanie 391
Koła 391
Właściwe linie 391

CZĘŚĆ III. WIĘCEJ NIŻ JAVASCRIPT

20. Node.js 395

Podstawy 396
Polecenie node 396
Moduły 397
Instalowanie modułów z repozytorium NPM 398
Pliki pakietów 399
Wersje 400
Moduł systemu plików 400
Moduł HTTP 402
Strumienie 404
Serwer plików 405
Podsumowanie 410
Ćwiczenia 411
Narzędzie wyszukiwania 411
Tworzenie katalogów 411
Publiczna przestrzeń w internecie 411

21. Projekt - serwis dla pasjonatów 415

Projekt 416
Długie sondowanie 417
Interfejs HTTP 417
Serwer 420
Trasowanie 420
Obsługa plików 421
Przemowy jako zasoby 422
Długie sondowanie 424
Klient 426
HTML 426
Akcje 427
Renderowanie komponentów 428
Sondowanie 430
Aplikacja 431
Ćwiczenia 432
Zapisywanie danych na dysku 432
Resetowanie pól komentarzy 433

22. Wydajność JavaScriptu 435

Kompilacja etapowa 436
Układ grafowy 437
Definiowanie grafu 438
Rozkład ukierunkowany siłowo 439
Unikanie pracy 441
Profilowanie 443
Rozwijanie funkcji 445
Zmniejszanie ilości śmieci 446
Usuwanie nieużytków 447
Typy dynamiczne 448
Podsumowanie 449
Ćwiczenia 449
Znajdowanie drogi 449
Mierzenie czasu 450
Optymalizacja 451

Podpowiedzi do ćwiczeń 453

Rozdział 2. Struktura programu 453
Pętlowy trójkąt 453
FizzBuzz 454
Szachownica 454

Rozdział 3. Funkcje 454
Minimum 454
Rekurencja 454
Liczenie znaków 455

Rozdział 4. Struktury danych - obiekty i tablice 455
Suma przedziału liczb 455
Odwracanie tablicy 455
Lista 456
Porównywanie głębokie 456

Rozdział 5. Funkcje wyższego rzędu 457
Wszystko 457
Dominujący kierunek pisma 457

Rozdział 6. Sekretne życie obiektów 458
Typ wektorowy 458
Grupy 458
Grupy z możliwością iteracji 458
Pożyczanie metody 458

Rozdział 7. Projekt - robot 459
Porównywanie robotów 459
Efektywność robota 459
Trwała grupa 459

Rozdział 8. Błędy i obsługa błędów 460
Spróbuj jeszcze raz 460
Zamknięte pudełko 460

Rozdział 9. Wyrażenia regularne 460
Apostrofy 460
Jeszcze raz liczby 460

Rozdział 10. Moduły 461
Modularny robot 461
Moduł Roads 462
Zależności cykliczne 462

Rozdział 11. Programowanie asynchroniczne 463
Śledzenie skalpela 463
Budowa metody Promise.all 463

Rozdział 12. Projekt - język programowania 464
Tablice 464
Zamknięcie 464
Komentarze 464
Naprawienie zakresu 464

Rozdział 14. Obiektowy model dokumentu 465
Budowa tabeli 465
Elementy według nazwy znacznika 465
Kapelusz kota 465

Rozdział 15. Obsługa zdarzeń 466
Balon 466
Trop myszy 466
Karty 466

Rozdział 16. Projekt - gra platformowa 467
Wstrzymywanie gry 467
Potwór 467

Rozdział 17. Rysowanie na kanwie 468
Kształty 468
Wykres kołowy 468
Odbijająca się piłka 469
Obliczenia na zapas 469

Rozdział 18. HTTP i formularze 469
Negocjacja treści 469
Pracownia JavaScript 470
Gra w życie Conwaya 470

Rozdział 19. Edytor obrazków pikselowych 471
Powiązania z klawiaturą 471
Efektywne rysowanie 471
Koła 471
Właściwe linie 472

Rozdział 20. Node.js 473
Narzędzie wyszukiwania 473
Tworzenie katalogów 473
Publiczna przestrzeń w internecie 473

Rozdział 21. Projekt - serwis dla pasjonatów 474
Zapisywanie danych na dysku 474
Resetowanie pól komentarzy 474

Rozdział 22. Wydajność JavaScriptu 474
Znajdowanie drogi 474
Optymalizacja 475

480 stron, oprawa miękka

Po otrzymaniu zamówienia poinformujemy,
czy wybrany tytuł polskojęzyczny lub anglojęzyczny jest aktualnie na półce księgarni.

 
Wszelkie prawa zastrzeżone PROPRESS sp. z o.o. 2012-2024