#### Содержание
* [Введение][1]
* [Величины, типы и операторы][2]
* [Структура программ][3]
* [Функции][4]
* [Структуры данных: объекты и массивы][5]
* [Функции высшего порядка][6]
* [Тайная жизнь объектов][7]
* [Проект: электронная жизнь][8]
* [Обработка ошибок][9]
* Регулярные выражения
* Модули
* Проект: язык программирования
* JavaScript и браузер
* Document Object Model
* Обработка событий
* Проект: игра-платформер
* Рисуем на Canvas
* HTTP
* Формы и поля ввода
* Проект: Paint
* Node.js
* Проект: веб-сайт по обмену умениями
* [Песочница для кода][10]
_Отладка изначально вдвое сложнее написания кода. Поэтому, если вы пишете код настолько заумный, насколько можете, то по определению вы не способны отлаживать его. Брайан Керниган и П.Ж.Плауэр, «Основы программного стиля»_ _Юан-Ма написал небольшую программу, использующую много глобальных переменных и ужасных хаков. Ученик, читая программу, спросил его: «Вы предупреждали нас о подобных техниках, но при этом я нахожу их в вашей же программе. Как это возможно?» Мастер ответил: «Не нужно бежать за поливальным шлангом, если дом не горит». Мастер Юан-Ма, «Книга программирования»._ Программа – это кристаллизованная мысль. Иногда мысли путаются. Иногда при превращении мыслей в программу в код вкрадываются ошибки. В обоих случаях получается повреждённая программа. Недостатки в программах обычно называют ошибками. Это могут быть ошибки программиста или проблемы в системах, с которыми программа взаимодействует. Некоторые ошибки очевидны, другие – трудноуловимы, и могут скрываться в системах годами. Часто проблема возникает в тех ситуациях, возникновение которых программист изначально не предвидел. Иногда этих ситуаций нельзя избежать. Когда пользователя просят ввести его возраст, а он вводит «апельсин», это ставит программу в непростую ситуацию. Эти ситуации необходимо предвидеть и как-то обрабатывать. [Читать дальше →][11]
[1]:
http://habrahabr.ru/post/240219/
[2]:
http://habrahabr.ru/post/240223/
[3]:
http://habrahabr.ru/post/240225/
[4]:
http://habrahabr.ru/post/240349/
[5]:
http://habrahabr.ru/post/240813/
[6]:
http://habrahabr.ru/post/241155/
[7]:
http://habrahabr.ru/post/241587/
[8]:
http://habrahabr.ru/post/241776/
[9]:
http://habrahabr.ru/post/242609/
[10]:
http://eloquentjavascript.net/code
[11]:
http://habrahabr.ru/post/242609/#habracut