Сила JavaScript. 68 способов эффективного использования JS

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

Эта книга поможет вам освоить всю мощь языка программирования javascript и научит применять его максимально эффективно. Автор описывает внутреннюю работу языка на понятных практических примерах, которые помогут как начинающим программистам, так и опытным разработчикам повысить уровень понимания javascript и существенно обогатить опыт его применения в своей работе. В книге содержится 68 проверенных подходов для написания «чистого» и работающего кода на javascript, которые можно легко использовать на практике. Вы узнаете, как выбирать правильный стиль программирования для каждого конкретного проекта, как управлять непредвиденными проблемами разработки, а также как работать более эффективно на каждом этапе программирования на javascript.

Author(s): Херман Д.
Series: Библиотека специалиста
Publisher: Питер
Year: 2013

Language: Russian
Pages: 288
Tags: Библиотека;Компьютерная литература;HTML / CSS / JavaScript;

Предисловие......Page 9
Введение......Page 12
Веб-программирование......Page 13
Замечание по поводу параллелизма......Page 14
Благодарности......Page 15
Об авторе......Page 18
Глава 1.
Подготовка к программированию на JavaScript......Page 19
Заранее узнайте, какая версия JavaScript используется......Page 20
Разберитесь с числами с плавающей точкой......Page 28
Остерегайтесь неявного приведения типов данных......Page 32
Отдавайте предпочтение примитивам, а не объектным оболочкам......Page 40
Избегайте использования оператора == со смешанными типами......Page 42
Разберитесь с ограничениями на использование точки с запятой......Page 46
Рассматривайте строки в виде последовательности 16-разрядных байтовых представлений кодов......Page 55
Старайтесь как можно меньше использовать глобальный объект......Page 61
Всегда объявляйте локальные переменные......Page 65
Избегайте ключевого слова with......Page 67
Освойте механизм замыканий......Page 72
Разберитесь с подъемом переменных......Page 76
Используйте немедленно вызываемые функции-выражения для создания локальных областей видимости......Page 79
Остерегайтесь использования непереносимых областей видимости, возникающих при использовании именованных функций-выражений......Page 83
Остерегайтесь непереносимых областей видимости, возникающих из-за объявления функций внутри локальных блоков......Page 88
Избегайте создания локальных переменных с помощью функции eval......Page 91
Используйте непрямой вызов функции eval вместо прямого......Page 93
Разберитесь в различиях между вызовами функций, методов и конструкторов......Page 96
Научитесь пользоваться функциями высшего порядка......Page 100
Используйте метод call для вызова методов с произвольным получателем......Page 105
Используйте метод apply для вызова функций с разным количеством аргументов......Page 107
Используйте объект arguments для создания вариативных функций......Page 110
Никогда не вносите изменений в объект arguments......Page 112
Используйте переменную для сохранения ссылки на объект arguments......Page 115
Используйте метод bind для извлечения методов с фиксированным получателем......Page 117
Используйте метод bind для каррирования функций......Page 120
При инкапсуляции кода отдавайте предпочтение замыканиям, а не строкам......Page 122
Избегайте использования метода toString функций......Page 124
Избегайте нестандартных свойств инспектирования стека......Page 127
Глава 4.
Объекты и прототипы......Page 130
Разберитесь в различиях между механизмами prototype, getPrototypeOf и __proto__......Page 131
Отдавайте предпочтение функции Object.getPrototypeOf, а не свойству __proto__......Page 135
Никогда не вносите изменения в свойство __proto__......Page 136
Создавайте свои конструкторы так, чтобы их не нужно было вызывать с оператором new......Page 138
Храните методы в прототипах......Page 142
Для хранения закрытых данных используйте замыкания......Page 144
Храните состояние экземпляра только в объектах-экземплярах......Page 147
Разберитесь с неявным связыванием this......Page 150
Вызывайте конструкторы суперкласса из конструкторов подкласса......Page 154
Не используйте повторно имена свойств суперкласса......Page 159
Избегайте наследования от стандартных классов......Page 161
Считайте прототипы деталями реализации......Page 164
Не пытайтесь бездумно вносить изменения методом обезьяньей правки......Page 166
Создавайте простые словари только из непосредственных экземпляров объектов......Page 169
171-180.pdf......Page 0
Отдавайте предпочтение массивам, а не словарям при работе с упорядоченными коллекциями......Page 182
Не добавляйте перечисляемые свойства к Object.prototype......Page 186
Избегайте модификации объекта в ходе перечисления......Page 188
При последовательном переборе элементов массива отдавайте предпочтение циклу for, а не циклу for...in......Page 194
При работе с циклами отдавайте предпочтение итерационным методам......Page 196
Придерживайтесь неизменных соглашений......Page 207
Рассматривайте вариант undefined как «нет значения»......Page 210
Применяйте для аргументов, требующих описания, объекты параметров......Page 216
Избегайте ненужных данных о состоянии......Page 222
Используйте структурную типизацию для создания гибких интерфейсов......Page 226
Различайте массив и подобие массива......Page 232
Избегайте избыточного приведения типов данных......Page 237
Выстраивайте цепочки методов......Page 242
Глава 7.
Параллелизм......Page 246
Не блокируйте очередь событий при вводе-выводе......Page 247
Используйте вложенные или именованные функции обратного вызова для задания последовательности выполнения асинхронных команд......Page 252
Не забывайте о существовании игнорируемых ошибок......Page 257
Используйте рекурсию для асинхронных циклов......Page 262
Не блокируйте очередь событий вычислениями......Page 267
Используйте счетчик для выполнения параллельных операций......Page 272
Не вызывайте асинхронные функции обратного вызова в синхронном режиме......Page 278
Используйте обязательства для более понятной асинхронной логики......Page 282
201-205_Страница_1......Page 201
201-205_Страница_2......Page 202
201-205_Страница_3......Page 203
201-205_Страница_4......Page 204
201-205_Страница_5......Page 205
171-180_Страница_01......Page 171
171-180_Страница_02......Page 172
171-180_Страница_03......Page 173
171-180_Страница_04......Page 174
171-180_Страница_05......Page 175
171-180_Страница_06......Page 176
171-180_Страница_07......Page 177
171-180_Страница_08......Page 178
171-180_Страница_09......Page 179
171-180_Страница_10......Page 180