Тази книга ще ви помогне самостоятелно да научите JavaScript – един от най-популярните и търсени езици за уеб програмиране. С негова помощ ще разширите функционалността на уеб страниците си и ще реализирате функции, които не могат да бъдат постигнати чрез стандартните HTML тагове. Невъзможно е да си представим професионален уеб програмист, който да не знае JavaScript.
Опитът показва, че най-добре и най-лесно програмиране се учи с примери. Освен това е много трудно да се обясни дадена концепция или подход, ако те не са придружени с практически материал. Затова авторът е избрал именно този начин за структуриране на материала в книгата.
Съдържанието е разделено на три части. В първа част са обяснени начините за реализация на скриптове и основните синтактични конструкции на езика – променливи, оператори, функции. Във втората част са представени методите на обектно ориентираното програмиране в JavaScript. Показано е и как се работи с масиви и обекти.
Третата част, която е практическа, е посветена на писането на скриптове за уеб документи. Разглежда се обработката на събития, работата с обекти, методи, изображения. Тук постъпково са анализирани полезни примери от практиката. За по-доброто усвояване на материала, в края на всяка глава има резюме, в което се отделят основните и най-важни моменти, обсъждани в нея.
Авторът е положил максимални усилия да направи съдържанието достатъчно разбираемо и нагледно, а изучаването на JavaScript увлекателно.
Кодовете на примерите от книгата са предоставени за безплатно сваляне и тестване.
JavaScript в примери и задачи
Съдържание
Въведение…7
Скриптове и програми…8
Уеб документи и езикът HTML…10
Добавяне на скрипт в уеб документ…15
Концепция на книгата…21
Тестване на скриптовете и програмно обезпечение…24
Обратна връзка…31
За автора…32
Благодарности…32
Част I. Основи на JavaScript
Глава 1. Запознаване с JavaScript…33
Показване на текст в работния документ…34
Начини за реализация на скрипт…36
Запознаване с променливи…38
Скрипт с една променлива…40
Скрипт с две променливи…41
Присвояване на стойности от различни типове на една променлива…42
Изчисляване на изрази…43
Основни оператори…45
Аритметични оператори…45
Оператори за сравнение…48
Логически оператори…50
Побитови операции…53
Съкратени форми на оператора за присвояване…58
Тернарен оператор…58
Преобразуване на типовете…59
Приоритет на операторите…60
Резюме…63
Глава 2. Управляващи инструкции…64
Условен оператор…64
Общ синтаксис на условния оператор…64
Пример с условен оператор…65
Опростена форма на условния оператор…69
Пример с опростена форма на условния оператор…69
Вложени условни оператори…71
Оператор за цикъл while…77
Синтаксис на оператора…77
Пример за използване на оператора за цикъл…78
Оператор за цикъл do-while…80
Синтаксис на оператора…80
Пример с използване на оператора за цикъл…81
Оператор за цикъл for…83
Синтаксис на оператора…83
Пример за използване на оператора…84
Оператор за избор switch…89
Синтаксис на оператора за избор…89
Примери с използване на оператора за избор…90
Резюме…96
Глава 3. Функции…98
Запознаване с функции…98
Дефиниране на функция…99
Примери за деклариране на функция…100
Локални и глобални променливи…102
Област на видимост и локални променливи във функция…103
Обръщане към глобална променлива във функция…105
Създаване на глобална променлива във функция…107
Глобална променлива като свойство на обекта на прозореца…108
Аргументи на функция…113
Аргумент като локална променлива…113
Механизъм за предаване на аргументи на функция…115
Проверка на типа на аргумента…118
Брой аргументи на функция…121
Предаване на функция като аргумент…124
Рекурсия…126
Вътрешни функции…129
Присвояване на функция…134
Анонимни функции…138
Функция като резултат…143
Резюме…148
Част II. JavaScript и ООП
Глава 4. Запознаване с обектите и принципите на ООП…150
Концепция на ООП…150
Създаване на обект…152
Литерал на обекта…152
Обект с метод…155
Присвояване на обекти…158
Добавяне на свойства и методи в обект…160
Конструктор на обекти…162
Инструменти за работа с обекти…165
Оператор with…165
Оператор for-in…167
Оператор in…169
Оператор delete и изтриване на свойства и методи…171
Прототипи…174
Механизъм за достъп до свойствата и създаване на обект на основата на прототип…175
Получаване на достъп до прототип…183
Създаване на обекти без прототип…189
Конструктори и прототипи…191
Свойства и методи…198
Изброими и неизброими свойства…198
Резюме…215
Глава 5. Запознаване с масиви…218
Създаване на масив…218
Явно задаване на елементите на масива…218
Добавяне на елементи в масива…220
Използване на обекта конструктор Array…222
Операции с масиви…227
Методи за работа с масиви…227
Присвояване и копиране на масиви…241
Методи toString() и valueOf()…250
Двумерни масиви…254
Резюме…257
Глава 6. Използване на обекти…258
Обработка на изключителни ситуации…258
Инструкция try-catch…258
Обект на грешката…262
Генериране на грешки…267
Вложени try-catch блокове и блокът finally…271
Създаване на грешка от потребителски тип…275
Обекти и масиви…279
Обект като асоциативен масив…279
Методи toString() и valueOf() за обекти…283
Масиви и обекти като свойства на обект…288
Функция като обект…295
Брой аргументи на функцията…296
Функция с произволно количество аргументи…298
Предаване на контекст на функция…301
Вградени обекти…311
Обект Math…311
Обект Number…313
Обект Boolean…315
Обект String…317
Обект Date…321
Резюме…328
Част III. Използване на JavaScript
Глава 7. Уеб документи и скриптове…330
Място и роля на скрипта в уеб документа…330
Поставяне на скрипт в документ…331
Обработка на събития…337
Обектът на прозореца window…338
Обектни модели…339
Диалогови прозорци…340
Отваряне и затваряне на прозорци…344
Зареждане на документ…350
Свойства и методи на обекта window…354
Таймери…369
Обектът на документа document…386
Свойства и методи на обекта document…386
Настройка на цвета…394
Методи write() и writeln()…396
Програмно създаване на документ…399
Резюме…408
Глава 8. Елементи за управление и обработка на събития…409
Елементи за управление в уеб документа…409
Бутони и полета за въвеждане…410
Полета за отметка, превключватели и списъци…427
Работа с изображения…443
Преглеждане на изображения…444
Рисуване на изображение и текст…452
Създаване на изображения в скрипт…459
Събития…468
Обект на събитието…468
Диспечеризация на събития…478
Резюме…487
Глава 9. Различни примери…488
Триадна крива на Кох…488
Калкулатор…499
Бягащ текст…516
Играта “Живот”…521
Динамични рисунки…538
Резюме…551
Заключение…552
Малко за уеб програмирането…552