Изучаем JavaScript
Майкл Моррисон
Вы готовы сделать шаг вперед в своей практике веб-программирования и перейти от верстки в HTML и CSS к созданию полноценных динамических страниц? Тогда пришло время познакомиться с самым «горячим» языком программирования - JavaScript!
С помощью этой книги вы узнаете все о языке JavaScript: от переменных до циклов. Вы поймете, почему разные браузеры по-разному реагируют на код и как написать универсальный код, поддерживаемый всеми браузерами. Вам станет ясно, почему с кодом JavaScript никогда не придется беспокоиться о перегруженности страниц и ошибках передачи данных. Не пугайтесь, даже если ранее вы не написали ни одной строчки кода, - благодаря уникальному формату подачи материала эта книга с легкостью проведет вас по всему пути обучения: от написания простейшего java-скрипта до создания сложных веб-проектов, которые будут работать во всех современных браузерах.
Особенностью данного издания является уникальный способ подачи материала, выделяющий серию «Head First» издательства O'Reilly в ряду множества скучных книг, посвященных программированию.
Издательство: Питер, 2012 г.
ISBN 978-5-459-00322-2
Количество страниц: 608.
Содержание книги «Изучаем JavaScript»:
- 23 Введение
- 24 Для кого написана эта книга?
- 25 Мы знаем, о чем вы думаете
- 27 Метапознание: наука о мышлении
- 29 Как заставить мозг повиноваться?
- 30 Примите к сведению
- 32 Технические редакторы
- 33 Благодарности
- 35 1. Интерактивная сеть: Реакции виртуального мира
- 36 То, что нужно людям
- 37 И ничего... как будто говоришь со стенкой
- 38 А JavaScript отвечает
- 40 Свет, камера, взаимодействие!
- 45 Тег <script>
- 46 Ваш браузер понимает HTML, CSS и JavaScript
- 49 Помоги виртуальному другу человека
- 50 Сделайте iRock интерактивным
- 51 Веб-страница iRock
- 51 Тестирование
- 52 События
- 53 Оповещение пользователей
- 54 iRock приветствует вас
- 56 Сделайте объект iRock действительно интерактивным
- 57 Взаимодействие должно быть ДВУСТОРОННИМ
- 58 Как узнать имя пользователя
- 61 Полученный результат
- 62 Проверка приложения iRock 1.0
- 65 2. Хранение данных: Все на своем месте
- 66 Сохранение данных
- 67 Типы данных
- 72 Константы и переменные: постоянное и изменяемое
- 76 Исходное состояние переменных
- 77 Присвоение значений
- 78 Упрямые константы
- 82 Что в имени тебе моем?
- 83 Корректные и некорректные имена
- 84 Стиль Верблюда
- 87 Следующий этап
- 88 Планируем веб-страницу
- 93 Инициализируйте данные... или
- 94 NaN — это НЕ число
- 96 Складывать можно не только числа
- 97 Методы parseInt() и parseFloat()
- 98 Откуда берутся лишние пончики?
- 102 Дункан обнаруживает шпиона
- 103 Метод getElementById()
- 104 Проверка данных формы
- 109 Интуитивный ввод данных
- 115 3. Исследование клиента: Знакомство с браузером
- 116 Клиент, сервер и JavaScript
- 118 Что браузер может сделать для вас?
- 119 Объект iRock слишком счастлив
- 122 Таймеры
- 123 Как работает таймер
- 124 Метод setTimeout()
- 125 Анализ метода setTimeout()
- 129 Зависимость от размера экрана
- 130 Ширина окна браузера
- 131 Задание ширины окна
- 132 Высота и ширина объекта iRock
- 133 iRock должен соответствовать странице
- 137 Событие onresize
- 138 Событие onresize для камешка
- 140 Мы уже встречались?
- 141 Время жизни сценария
- 142 Продление времени жизни сценария
- 147 Свойства куки
- 149 Код JavaScript ВНЕ веб-страницы
- 150 Приветствие пользователя
- 151 Метод greetUser() на основе куки
- 152 Создание куки
- 154 Влияние на безопасность
- 156 Мир без куки
- 159 Разговор с пользователями... это лучше, чем ничего
- 163 4. Принятие решений: Если на дороге развилка...
- 164 Счастливчик, спускайся ко мне!
- 166 «Усли» так, то сделай что-нибудь
- 167 Оператор if
- 169 Когда вариантов два
- 170 Вы можете сделать множественный выбор
- 171 Ключевое слово else
- 174 Переменные как двигатель истории
- 175 Недостающие части истории
- 176 Совмещение усилий
- 182 Запись при помощи if/else
- 183 Вложенный оператор if
- 185 Управление при помощи методов
- 186 Псевдокод
- 190 Проблемы нарисованного человечка
- 191 != т-с-с-с, мне нечего тебе сказать
- 192 Операторы сравнения
- 194 Комментарии
- 195 Комментарии начинаются с //
- 197 Область видимости
- 198 Проверим область видимости
- 199 Где живут мои данные?
- 202 Выбор из пяти
- 203 Переусложнение конструкции
- 205 Оператор switch/case
- 206 Анализ оператора switch
- 211 Тест-драйв нового варианта «Приключений»
- 215 5. Циклы: Рискуя повториться
- 216 Место помечено крестом
- 217 И снова дежавю... цикл for
- 218 Охота за сокровищами с циклом for
- 219 Составные части цикла for
- 220 Специальные места для мачо
- 221 Проверка доступности мест
- 222 Циклы, HTML и свободные кресла
- 223 Места, как переменные
- 224 Массивы
- 225 Значения сохраняются с ключами
- 229 От JavaScript к HTML
- 230 Визуализация кресел
- 235 Проверка
- 236 Бесконечные циклы
- 237 Условие выхода из цикла
- 238 Прерывание действия
- 244 Логические операторы
- 248 Цикл while
- 249 Анализ цикла while
- 251 Выбор подходящего цикла
- 257 Кинотеатр — место моделирования данных
- 258 Двумерные массивы
- 259 Два ключа доступа
- 261 Двумерная версия Mandango
- 264 Целый кинотеатр мест для мачо
- 267 6. Функции: Многократное использование
- 268 Источник всех проблем
- 270 Функции как способ решения
- 271 Из чего состоит функция
- 272 Уже знакомые вам функции
- 275 Улучшаем наш термостат
- 276 Передача информации функциям
- 277 Аргументы как данные
- 278 Избавляемся от дублирующегося кода
- 281 Функция, задающая места
- 283 Функция setSeat()
- 285 Обратная связь
- 286 Возврат данных
- 287 Возвращаемые значения
- 291 Информация о статусе места
- 292 Отображение статуса
- 293 Связь функции с изображением
- 294 Дублирующийся код
- 295 Отделите функциональность от содержимого
- 296 Функции — это тоже данные
- 297 Вызов функции и ссылка на нее
- 301 События, обратный вызов и атрибуты HTML
- 302 Ссылки на функции
- 303 Литерал функции
- 304 А где же связывание?
- 307 Оболочка HTML-страницы
- 311 7. Формы и проверка данных: Пусть он все расскажет
- 313 HTML-форма фирмы Bannerocity
- 314 Когда языка HTML недостаточно
- 315 Доступ к данным формы
- 317 Цепочка событий
- 318 Событие onblur
- 319 Сообщение проверки
- 323 Проверка полей на наличие данных
- 324 Проверка без предупреждающих всплывающих окон
- 325 Усложняем наш валидатор
- 327 Размер имеет значение
- 328 Проверка длины
- 333 Проверка индексов
- 338 Проверка даты
- 340 Регулярные выражения не «регулярны»
- 341 Задание шаблона
- 343 Метасимволы
- 344 Количество повторений
- 348 Проверка данных при помощи регулярных выражений
- 351 Диапазон вхождений
- 353 Выбери это... или то
- 354 Никаких случайностей
- 355 Вы меня слышите?
- 356 Вам письмо
- 357 Исключение — это правило
- 358 Дополнительные символы
- 359 Проверка адреса электронной почты
- 363 8. Управление страницами: Управление HTML с DOM
- 364 Функциональный, но неудобный
- 365 Без всплывающих окон
- 367 Доступ к HTML-элементам
- 368 Внутренний код элемента
- 373 Объектная модель документа (DOM)
- 374 Страница как набор узлов
- 377 Свойства узлов
- 380 Редактирование текста
- 385 «Приключение», совместимое со стандартами
- 387 Проектирование лучше, варианты чище
- 388 И снова замена текста в узлах
- 389 Функция, заменяющая текст узла
- 390 Динамические параметры
- 391 Интерактивность
- 392 Значение стиля: CSS и DOM
- 393 Замена классов стилей
- 394 Стильные варианты
- 395 Проверка работы приложения
- 396 Пустая кнопка
- 397 Настройка «а ля style»
- 399 Без фиктивных кнопок
- 400 Усложняем «Приключения»
- 402 Поход по дереву решений
- 403 Превратим историю в HTML
- 404 Обработка HTML-кода
- 407 Отслеживание «Приключений»
- 411 9. Оживляем данные: Объекты как франкенданные
- 412 Вечеринка в стиле JavaScript
- 413 Данные + действия = объект
- 414 Данные — это собственность объекта
- 415 Ссылка на члены объекта
- 419 Специальные объекты
- 420 Конструктор
- 421 Структура конструктора
- 422 Создание объектов blog
- 427 Необходимость сортировки
- 428 Объект для дат
- 429 Вычисление времени
- 430 Пересмотр дат в блоге
- 431 Объект внутри другого объекта
- 434 Преобразование объектов в текст
- 435 Доступ к фрагментам даты
- 438 Массивы как объекты
- 439 Пользовательская сортировка
- 440 Упрощение сортировки
- 443 Поиск по массиву
- 445 Метод indexOf()
- 446 Поиск по блогу
- 449 Поиск заработал!
- 452 Объект Math
- 454 Генерация случайных чисел
- 459 Превращение функции в метод
- 460 Восхитительный новый объект blog
- 461 Что дают объекты блогу YouCube?
- 465 10. Специальные объекты: Работа со специальными объектами
- 466 Снова о методах блога YouCube
- 467 Перегрузка методов
- 468 Классы и реализации
- 469 Реализации
- 470 Ключевое слово this
- 471 Методы классов
- 472 Прототипы
- 473 Классы, прототипы и YouCube
- 478 Свойства общего доступа
- 479 Создание свойств класса
- 481 Подписан и доставлен
- 483 Нет дублирующемуся коду!
- 484 Метод форматирования данных
- 486 Расширение стандартных объектов — улучшенный блог
- 487 Методы классов
- 489 Функция сравнения
- 490 Вызов метода класса
- 491 Картинка стоит тысячи слов
- 492 Вставка изображений
- 494 Добавление галереи
- 496 Блог на основе объектов
- 499 11. Охота на ошибки: Когда сценарий не работает
- 500 Устранение дефектов
- 501 Проблемы с калькулятором для IQ
- 502 Различные баузеры
- 505 Несложная отладка
- 509 Неопределенные переменные
- 511 Работа с цифрами
- 512 Звонки на радио
- 513 Начинаем расследование
- 514 Проверка синтаксиса (ошибка #1)
- 515 Аккуратнее со строками
- 516 Кавычки и апострофы
- 517 Esc-символы
- 518 Неопределенность функции (Ошибка #2)
- 520 Побеждают все (Ошибка #3)
- 521 Отладка с помощью всплывающих окон
- 522 Следим за значением переменной
- 524 Некорректная логика
- 528 Проигрывают все! (Ошибка #4)
- 529 Атака всплывающих окон
- 531 Пользовательская консоль
- 538 Самая противная ошибка
- 539 Три самых популярных типа ошибок
- 542 Комментарии
- 544 Дважды объявленные переменные
- 549 12. Динамические данные: Удобные веб-приложения
- 550 Жажда динамических данных
- 551 Блог, управляемый данными
- 553 Ajax как возможность для общения
- 555 Форматирование с помощью XML
- 557 XML + HTML = XHTML
- 559 XML и данные блога YouCube
- 562 Добавим к блогу Ajax
- 564 Интерфейс XMLHttpRequest
- 567 Запрос с объектом XMLHttpRequest
- 571 Анализ запросов Ajax
- 575 Создание запросов
- 576 Закончишь — вызови меня
- 577 Обработка ответа
- 578 DOM как выход из положения
- 583 YouCube, управляемый данными
- 585 Неработающие кнопки
- 586 Кнопкам нужны данные
- 589 Функция, экономящая время
- 590 Запись данных в блог
- 593 Требования PHP
- 594 Данные для PHP-сценария
- 597 Отправка данных на сервер
- 602 Делаем работу с блогом еще удобнее
- 603 Автозаполнение полей
- 604 Повторяющаяся задача?
Инструкция как скачать книгу Майкл Моррисон: Изучаем JavaScript в форматах DjVu, PDF, DOC или fb2 совершенно бесплатно.