Главная » 2014»Июнь»20 » Сила JavaScript. 68 способов эффективного использования JS
16:00
Сила JavaScript. 68 способов эффективного использования JS
Сила JavaScript. 68 способов эффективного использования JS - Эта книга поможет вам освоить всю мощь языка программирования JavaScript и научит применять его максимально эффективно. Автор описывает внутреннюю работу языка на понятных практических примерах, которые помогут как начинающим программистам, так и опытным разработчикам повысить уровень понимания JavaScript и существенно обогатить опыт его применения в своей работе. В книге содержится 68 проверенных подходов для написания "чистого" и работающего кода на JavaScript, которые можно легко использовать на практике. Вы узнаете, как выбирать правильный стиль программирования для каждого конкретного проекта, как управлять непредвиденными проблемами разработки, а также как работать более эффективно на каждом этапе программирования на JavaScript.
Название: Сила JavaScript. 68 способов эффективного использования JS Автор: Дэвид Херман Издательство: Питер Год: 2013 Страниц: 288 Формат: PDF Размер: 10,0 МБ ISBN: 978-5-496-00524-1 Качество: Отличное Язык: Русский
Содержание:
Предисловие Введение JavaScript в сравнении с ECMAScript Веб-программирование Замечание по поводу параллелизма Благодарности Об авторе Глава 1. Подготовка к программированию на JavaScript 1. Заранее узнайте, какая версия JavaScript используется 2. Разберитесь с числами с плавающей точкой 3. Остерегайтесь неявного приведения типов данных 4. Отдавайте предпочтение примитивам, а не объектным оболочкам 5. Избегайте использования оператора == со смешанными типами 6. Разберитесь с ограничениями на использование точки с запятой 7. Рассматривайте строки в виде последовательности 16-разрядных байтовых представлений кодов Глава 2. Область видимости переменных 8. Старайтесь как можно меньше использовать глобальный объект 9. Всегда объявляйте локальные переменные 10. Избегайте ключевого слова with 11. Освойте механизм замыканий 12. Разберитесь с подъемом переменных 13. Используйте немедленно вызываемые функции-выражения для создания локальных областей видимости 14. Остерегайтесь использования непереносимых областей видимости, возникающих при использовании именованных функций-выражений 15. Остерегайтесь непереносимых областей видимости, возникающих из-за объявления функций внутри локальных блоков 16. Избегайте создания локальных переменных с помощью функции eval 17. Используйте непрямой вызов функции eval вместо прямого Глава 3. Использование функций 18. Разберитесь в различиях между вызовами функций, методов и конструкторов 19. Научитесь пользоваться функциями высшего порядка 20. Используйте метод call для вызова методов с произвольным получателем 21. Используйте метод apply для вызова функций с разным количеством аргументов 22. Используйте объект arguments для создания вариативных функций 23. Никогда не вносите изменений в объект arguments 24. Используйте переменную для сохранения ссылки на объект arguments 25. Используйте метод bind для извлечения методов с фиксированным получателем 26. Используйте метод bind для каррирования функций 27. При инкапсуляции кода отдавайте предпочтение замыканиям, а не строкам 28. Избегайте использования метода toString функций 29. Избегайте нестандартных свойств инспектирования стека Глава 4. Объекты и прототипы 30. Разберитесь в различиях между механизмами prototype, getPrototypeOf и __proto__ 31. Отдавайте предпочтение функции Object. getPrototypeOf, а не свойству __proto__ 32. Никогда не вносите изменения в свойство __proto__ 33. Создавайте свои конструкторы так, чтобы их не нужно было вызывать с оператором new 34. Храните методы в прототипах 35. Для хранения закрытых данных используйте замыкания 36. Храните состояние экземпляра только в объектах-экземплярах 37. Разберитесь с неявным связыванием this 38. Вызывайте конструкторы суперкласса из конструкторов подкласса 39. Не используйте повторно имена свойств суперкласса 40. Избегайте наследования от стандартных классов 41. Считайте прототипы деталями реализации 42. Не пытайтесь бездумно вносить изменения методом обезьяньей правки Глава 5. Массивы и словари 43. Создавайте простые словари только из непосредственных экземпляров объектов 44. Используйте прототипы равные null для предотвращения прототипного загрязнения 45. Используйте метод hasOwnProperty для защиты от прототипного загрязнения 46. Отдавайте предпочтение массивам, а не словарям при работе с упорядоченными коллекциями 47. Не добавляйте перечисляемые свойства к Object. prototype 48. Избегайте модификации объекта в ходе перечисления 49. При последовательном переборе элементов массива отдавайте предпочтение циклу for, а не циклу for… in 50. При работе с циклами отдавайте предпочтение итерационным методам 51. Повторно используйте обобщенные методы прототипа Array для объектов, похожих на массивы 52. Отдавайте предпочтение литералам массивов, а не конструктору Array Глава 6. Разработка библиотек и API 53. Придерживайтесь неизменных соглашений 54. Рассматривайте вариант undefined как «нет значения» 55. Применяйте для аргументов, требующих описания, объекты параметров 56. Избегайте ненужных данных о состоянии 57. Используйте структурную типизацию для создания гибких интерфейсов 58. Различайте массив и подобие массива 59. Избегайте избыточного приведения типов данных 60. Выстраивайте цепочки методов Глава 7. Параллелизм 61. Не блокируйте очередь событий при вводе-выводе 62. Используйте вложенные или именованные функции обратного вызова для задания последовательности выполнения асинхронных команд 63. Не забывайте о существовании игнорируемых ошибок 64. Используйте рекурсию для асинхронных циклов 65. Не блокируйте очередь событий вычислениями 66. Используйте счетчик для выполнения параллельных операций 67. Не вызывайте асинхронные функции обратного вызова в синхронном режиме 68. Используйте обязательства для более понятной асинхронной логики
Скачать Сила JavaScript. 68 способов эффективного использования JS