Spis treści
Podziękowania 11
Wstęp 13
1. Wprowadzenie 15
Zakres niniejszej książki 17
Język 18
Nauka środowiska 18
Przeglądarki 19
JavaScriptCore 20
Node.js i Rhino 21
Dłuższe przykłady 22
Zaczynamy 22
2. Składnia języka JavaScript 23
Zmienne 23
Jakie jest zadanie znaku $ w JavaScript? 24
Wartości 25
Introspekcja typeof 26
Wartości nuli i undefined 27
Tablice 28
Tablice asocjacyjne 29
Instrukcje warunkowe 30
Operator trójargumentowy 30
Ścisła kontrola typu 31
Konstrukcja switch 33
Konstrukcja try-catch 33
Pętle while i for 35
Pętle for-in 36
Inne operatory 37
Operator in 37
Łączenie fragmentów tekstów 38
Rzutowanie typów 39
Operator void 39
Operator przecinka 40
3. Funkcje 41
Parametry domyślne 41
Dowolna liczba argumentów 42
Sztuczka z arguments .length 43
Zwracanie wyniku funkcji 44
Funkcje są obiektami 44
Nieco inna składnia 45
Zakres widoczności zmiennych 46
Przenoszenie na początek 48
Przenoszenie na początek funkcji 49
Domknięcia 50
Domknięcia w języku PHP 50
Łańcuch zakresu widoczności zmiennych 52
Łańcuch zakresów w konsoli WebKit 54
Zachowanie zakresu 57
Przechowywane są referencje, a nie wartości 58
Domknięcia w pętli 59
Ćwiczenie — pętla z onclick 61
Funkcje natychmiastowe 62
Inicjalizacja 64
Prywatność 64
Przekazywanie i zwracanie funkcji 65
Wywołania zwrotne nie są tekstami 67
4. Programowanie obiektowe 69
Konstruktory i klasy 69
Zwracanie obiektów 70
Dodatkowe informacje na temat this 72
Wymuszenie wywołania konstruktora 73
Prototypy 74
Literal obiektu 75
Dostęp do właściwości 75
Mylące kropki 76
Metody w literałach obiektów 77
Rozbudowane tablice 78
Właściwości własne 79
Właściwość proto 80
Stosować this lub prototype? 81
Dziedziczenie 82
Dziedziczenie wykorzystujące prototypy 82
Dziedziczenie przez kopiowanie właściwości 83
Funkcja kreująca 84
„Klasyczne" extend() 85
Pożyczanie metod 86
Wnioski 87
5. Wbudowane interfejsy programistyczne 89
Obiekt globalny 89
Właściwości globalne 90
Funkcje globalne 91
Liczby 91
Kodowanie adresów URL 92
Konstruktory wbudowane 93
Konstruktor Object 94
Konstruktor Array 98
Konstruktor RegExp 105
Konstruktor Function 107
Konstruktor String 109
Konstruktor Number 113
Konstruktor Boolean 114
Obiekt Math 114
Konstruktor Error 115
Konstruktor Date 116
Podsumowanie konstruktorów 118
6. ECMAScript 5 119
Tryb ścisły 119
Atrybuty właściwości 120
Nowe API dotyczące obiektów 121
Metoda Object.create() 121
Metoda Object.getOwnPropertyDescriptor() 123
Metody Object.defineProperty() i Object.defineProperties() 123 Ograniczenie zmian obiektów 123
Pętłe alternatywne 125
Metoda Object.getPrototypeOf() 125
Nowe API dotyczące tablic 126
Metoda Array.isArray() 126
Metody indexOf() i IastIndexOf() 126
...
Firstone