Читать «Изучаем программирование на JavaScript» онлайн - страница 9

Unknown

315

E

Обработка выстрела

374

Псевдоистина где-то рядом...

317

F

Планирование кода...

375

Что JavaScript считает «псевдоложью»

318

G

Корабль 3

Реализация метода parseGuess

376

HIT

Тайная жизнь строк

320

0 1 2 3 4 5 6

Подсчет и обработка выстрелов

379

Строка может выглядеть и как примитив, и как объект

321

Как связать обработчик событий с кнопкой Fire

383

Краткий обзор методов (и свойств) строк

323

Передача данных контроллеру

384

Битва за кресло

327

Как размещать корабли

388

Метод generateShip

389

Генерирование начальной позиции нового корабля

390

Завершение метода generateShip

391

17

оглавление

9 асинхронное программирование

Обработка событий

В этой главе вам предстоит подняться на принципиаль-

но новый уровень. До настоящего момента мы писали код, который

обычно выполняется сверху вниз. Конечно, в нем использовались функ-

ции, объекты и методы, но выполнение шло по заранее намеченной колее.

Жаль, что нам приходится сообщать такие новости во второй половине кни-

ги, но такая структура кода не характерна для JavaScript. Большая часть

кода JavaScript пишется для обработки событий. Каких событий? Да лю-

бых. Пользователь щелкает на странице, данные поступают из сети, в брау-

зере срабатывает таймер, в DOM происходят изменения... Это далеко не

полный список. Более того, в браузере постоянно происходят события, ко-

торые в основном остаются незамеченными. В этой главе мы пересмотрим

свой подход к программированию и узнаем, для чего же нужно писать код,

реагирующий на события.

Что такое «событие»?

405

Что такое «обработчик события»?

406

Как создать первый обработчик событий

407

Тест-драйв

408

Как разобраться в событиях? Написать игру, конечно!

410

Реализация игры

411

Тест-драйв

412

Добавим несколько изображений

416

Теперь нужно назначить один обработчик

всем свойствам onclick всех изображений

417

Как использовать один обработчик для всех изображений

418

Как работает объект события

421

Работаем с объектом события

423

Тест-драйв: объект события и источник

424

Очереди и события

426

Еще больше событий

429

Как работает setTimeout

430

Завершение кода игры

434

Тест-драйв таймеров

435

18

оглавление

10 первоклассные функции

Функции без ограничений

Изучайте функции и блистайте. В каждом ремесле, искусстве и дисциплине

есть ключевой принцип, который отличает игроков «среднего звена» от настоящего про-

фессионала, — и когда речь заходит о JavaScript, признаком профессионализма являет-

ся хорошее понимание функций. Функции играют фундаментальную роль в JavaScript,

и многие приемы, применяемые при проектировании и организации кода, основаны

на хорошем знании функций и умении использовать их. Путь изучения функций на этом

уровне интересен и непрост, так что приготовьтесь... Эта глава немного напоминает экс-

курсию по шоколадной фабрике Вилли Вонка — во время изучения функций JavaScript

вы увидите немало странного, безумного и замечательного.

Двойная жизнь ключевого слова function

450

Объявления функций и функциональные выражения

451

Разбор объявления функции

452

Что дальше? Браузер выполняет код

453

Двигаемся вперед... Проверка условия