Современный учебник JavaScript
Уже как месяц серьезно занимаюсь изучением фронтенда ,но ,черт возьми ,не прочитал ни строчки про JS. В общем решил исправить это недоразумение.
Знания Js на нуле. Из-за этого не могу нормально верстать макеты. Этот серьезный пробел нужно срочно закрыть.
Goal Accomplishment Criteria
Учебник изучен
-
Введение
-
Введение в JavaScript
-
Справочники и спецификации
-
Редакторы для кода
-
Консоль разработчика
-
-
Основы JavaScript
-
Привет, мир!
-
Внешние скрипты, порядок исполнения
-
Структура кода
-
Современный стандарт, «use strict»
-
Переменные
-
Правильный выбор имени переменной
-
Шесть типов данных, typeof
-
Основные операторы
-
Операторы сравнения и логические значения
-
Побитовые операторы
-
Взаимодействие с пользователем: alert, prompt, confirm
-
Условные операторы: if, '?'
-
Логические операторы
-
Преобразование типов для примитивов
-
Циклы while, for
-
Конструкция switch
-
Функции
-
Функциональные выражения
-
Рекурсия, стек
-
Именованные функциональные выражения
-
Всё вместе: особенности JavaScript
-
-
Качество кода
-
Отладка в браузере Chrome
-
Советы по стилю кода
-
Как писать неподдерживаемый код?
-
Автоматические тесты при помощи chai и mocha
-
-
Структуры данных
-
Введение в методы и свойства
-
Числа
-
Строки
-
Объекты как ассоциативные массивы
-
Объекты: перебор свойств
-
Объекты: передача по ссылке
-
Массивы c числовыми индексами
-
Массивы: методы
-
Массив: перебирающие методы
-
Псевдомассив аргументов «arguments»
-
Дата и Время
-
-
Замыкания, область видимости
-
Глобальный объект
-
Замыкания, функции изнутри
-
[[Scope]] для new Function
-
Локальные переменные для объекта
-
Модули через замыкания
-
Управление памятью в JavaScript
-
Устаревшая конструкция «with»
-
-
Методы объектов и контекст вызова
-
Методы объектов, this
-
Преобразование объектов: toString и valueOf
-
Создание объектов через «new»
-
Дескрипторы, геттеры и сеттеры свойств
-
Статические и фабричные методы
-
Явное указание this: «call», «apply»
-
Привязка контекста и карринг: «bind»
-
Функции-обёртки, декораторы
-
-
Некоторые другие возможности
-
Типы данных: [[Class]], instanceof и утки
-
Формат JSON, метод toJSON
-
setTimeout и setInterval
-
Запуск кода из строки: eval
-
Перехват ошибок, «try..catch»
-
-
ООП в функциональном стиле
-
Введение
-
Внутренний и внешний интерфейс
-
Геттеры и сеттеры
-
Функциональное наследование
-
-
ООП в прототипном стиле
-
Прототип объекта
-
Свойство F.prototype и создание объектов через new
-
Встроенные «классы» в JavaScript
-
Свои классы на прототипах
-
Наследование классов в JavaScript
-
Проверка класса: «instanceof»
-
Свои ошибки, наследование от Error
-
Примеси
-
-
Современные возможности ES-2015
-
ES-2015 сейчас
-
Переменные: let и const
-
Деструктуризация
-
Функции
-
Строки
-
Объекты и прототипы
-
Классы
-
Тип данных Symbol
-
Итераторы
-
Set, Map, WeakSet и WeakMap
-
Promise
-
Генераторы
-
-
Документ и объекты страницы
-
Окружение: DOM, BOM и JS
-
Дерево DOM
-
Работа с DOM из консоли
-
Навигация по DOM-элементам
-
Поиск: getElement* и querySelector* и не только
-
Внутреннее устройство поисковых методов
-
Свойства узлов: тип, тег и содержимое
-
Современный DOM: полифиллы
-
Атрибуты и DOM-свойства
-
Методы contains и compareDocumentPosition
-
Добавление и удаление узлов
-
Мультивставка: insertAdjacentHTML и DocumentFragment
-
Метод document.write
-
Стили, getComputedStyle
-
Размеры и прокрутка элементов
-
Размеры и прокрутка страницы
-
Координаты в окне
-
Координаты в документе
-
Итого
-
-
Основы работы с событиями
-
Введение в браузерные события
-
Порядок обработки событий
-
Объект события
-
Всплытие и перехват
-
Делегирование событий
-
Приём проектирования «поведение»
-
Действия браузера по умолчанию
-
Генерация событий на элементах
-
-
События в деталях
-
Мышь: клики, кнопка, координаты
-
Мышь: отмена выделения, невыделяемые элементы
-
Мышь: движение mouseover/out, mouseenter/leave
-
Мышь: Drag'n'Drop
-
Мышь: Drag'n'Drop более глубоко
-
Мышь: колёсико, событие wheel
-
Мышь: IE8-, исправление события
-
Прокрутка: событие scroll
-
Клавиатура: keyup, keydown, keypress
-
Загрузка документа: DOMContentLoaded, load, beforeunload, unload
-
Загрузка скриптов, картинок, фреймов: onload и onerror
-
-
Формы, элементы управления
-
Навигация и свойства элементов формы
-
Фокусировка: focus/blur
-
Изменение: change, input, cut, copy, paste
-
Формы: отправка, событие и метод submit
-
-
Создание графических компонентов
-
Введение
-
Графические компоненты
-
Вёрстка графических компонентов
-
Шаблонизатор LoDash
-
Коллбэки и события на компонентах
-
Что изучать дальше
-
-
Веб-компоненты: взгляд в будущее
-
С высоты орбитального полёта
-
Пользовательские элементы: Custom Elements
-
Shadow DOM
-
Шаблоны <template>
-
Стили и селекторы
-
Импорты
-
Веб-компонент в сборе
-
-
AJAX и COMET
-
Введение в AJAX и COMET
-
Node.JS для решения задач
-
Основы XMLHttpRequest
-
XMLHttpRequest POST, формы и кодировка
-
XMLHttpRequest: кросс-доменные запросы
-
XMLHttpRequest: индикация прогресса
-
XMLHttpRequest: возобновляемая закачка
-
COMET с XMLHttpRequest: длинные опросы
-
WebSocket
-
Протокол JSONP
-
Server Side Events — события с сервера
-
IFRAME для AJAX и COMET
-
Атака CSRF
-
Метод fetch: замена XMLHttpRequest
-
Таблица транспортов и их возможностей
-
-
Анимация
-
Кривые Безье
-
CSS-анимации
-
JS-Анимация
-
-
Оптимизация
-
Введение
-
Как работают сжиматели JavaScript
-
Улучшаем сжатие кода
-
Утечки памяти
-
Утечки памяти при использовании jQuery
-
Очистка памяти при removeChild/innerHTML
-
GCC: продвинутые оптимизации
-
GCC: статическая проверка типов
-
GCC: интеграция с Google Closure Library
-
-
Окна и Фреймы
-
Открытие окон и методы window
-
Общение между окнами и фреймами
-
Кросс-доменные ограничения и их обход
-
Общение окон с разных доменов: postMessage
-
Привлечение внимания к окну
-
Атака Clickjacking и защита от неё
-
-
CSS для JavaScript-разработчика
-
О чём пойдёт речь
-
Единицы измерения: «px», «em», «rem» и другие
-
Все значения свойства «display»
-
Свойство «float»
-
Свойство «position»
-
Центрирование горизонтальное и вертикальное
-
Свойства «font-size» и «line-height»
-
Свойство white-space
-
Свойство «outline»
-
Свойство «box-sizing»
-
Свойство «margin»
-
Лишнее место под IMG
-
Свойство «overflow»
-
Особенности свойства «height» в %
-
Знаете ли вы селекторы?
-
CSS-спрайты
-
Правила форматирования CSS
-
-
Сундучок с инструментами
-
Полезные расширения Firefox и Chrome
-
Скриптуемый отладочный прокси Fiddler
-
IE HTTP Analyzer
-
-
Регулярные выражения
-
Паттерны и флаги
-
Методы RegExp и String
-
Классы и спецсимволы
-
Наборы и диапазоны […]
-
Квантификаторы +, *, ? и {n}
-
Жадные и ленивые квантификаторы
-
Скобочные группы
-
Обратные ссылки: \n и $n
-
Альтернация (или) |
-
Начало строки ^ и конец $
-
Многострочный режим, флаг «m»
-
Предпросмотр (неготово)
-
Чёрная дыра бэктрекинга
-
-
О всякой всячине
-
Эволюция шаблонных систем для JavaScript
-
Книги по JS, HTML/CSS и не только
-
Асинхронное выполнение: setImmediate
-
Позднее связывание «bindLate»
-
Sublime Text: шпаргалка
-
Выделение: Range, TextRange и Selection
-
Применяем ООП: Drag'n'Drop++
-
Куки, document.cookie
-
Intl: интернационализация в JavaScript
-
Особенности регулярных выражений в Javascript
-
- 2625
- 17 July 2015, 17:12
Don't miss new posts!
Subscribe for the Goal and follow through to its completion