
- •Введение в JavaScript
- •Что такое JavaScript?
- •Что умеет JavaScript?
- •Что не умеет JavaScript?
- •В чем уникальность JavaScript?
- •Тенденции развития.
- •Недостатки JavaScript
- •Альтернативные технологии
- •ActiveX/npapi, плагины и расширения для браузера
- •Книги по js, html/css и не только
- •Объектно-ориентированное программирование
- •Уровни поддержки
- •Современный doctype
- •Справочники, и как в них искать
- •Спецификация ecmaScript
- •Спецификации html5
- •Редакторы для кода
- •Лёгкие редакторы
- •Sublime Text: шпаргалка
- •Горячие клавиши
- •Плагины
- •Установка и настройка браузеров
- •Установка
- •Включите консоль
- •Просмотр ошибок
- •Включаем отладку
- •Просмотр ошибок
- •Другие браузеры
- •Как поставить несколько версий браузеров?
- •Привет, мир!
- •Внешние скрипты
- •Структура кода
- •Команды
- •Комментарии
- •Переменные
- •Переменная
- •Аналогия из жизни
- •Копирование значений
- •Важность директивы var
- •Константы
- •Имена переменных
- •Зарезервированные имена
- •Правильный выбор имени
- •Имена переменных
- •Имена переменных
- •Зарезервированные имена
- •Правильный выбор имени
- •Введение в типы данных
- •Типы данных
- •Основные операторы
- •Термины: «унарный», «бинарный», «операнд»
- •Арифметические операторы
- •Присваивание
- •Приоритет
- •Побитовые операторы
- •Вызов операторов с присваиванием
- •Оператор запятая
- •Операторы сравнения и логические значения
- •Логические значения
- •Сравнение строк
- •Сравнение разных типов
- •Строгое равенство
- •Сравнение с null и undefined
- •Комментарии
- •Добавить комментарий
- •Комментариев: (14)
- •Побитовые операторы
- •Формат 32-битного целого числа со знаком
- •Список операторов
- •Описание работы операторов
- •& (Побитовое и)
- •| (Побитовое или)
- •Операторы битового сдвига
- •Применение побитовых операторов
- •Описание доступов
- •Проверка доступов
- •Маски в функциях
- •Округление
- •Проверка на -1
- •Умножение и деление на степени 2
- •Взаимодействие с пользователем: alert, prompt, confirm
- •Особенности встроенных функций
- •Комментарии
- •Добавить комментарий
- •Комментариев: (32)
- •Условные операторы: if, '?'
- •Оператор if
- •Преобразование к логическому типу
- •Неверное условие, else
- •Несколько условий, else if
- •Оператор вопросительный знак '?'
- •Несколько операторов '?'
- •Нетрадиционное использование '?'
- •Логические операторы
- •Короткий цикл вычислений
- •Значение или
- •Циклы while, for
- •Цикл while
- •Цикл do..While
- •Цикл for
- •Директивы break и continue
- •Выход: break
- •Следующая итерация: continue
- •Конструкция switch
- •Синтаксис
- •Пример работы
- •Группировка case
- •Тип имеет значение
- •Функции
- •Объявление
- •Локальные переменные
- •Внешние переменные
- •Параметры
- •Аргументы по умолчанию
- •Стиль объявления функций
- •Возврат значения
- •Выбор имени
- •Рекурсия, стек
- •Реализация pow(X, n) через рекурсию
- •Контекст выполнения, стек
- •Задачи на рекурсию
- •Методы и свойства
- •Пример: str.Length, str.ToUpperCase()
- •Пример: num.ToFixed
- •Всё вместе: особенности JavaScript
- •Структура кода
- •Переменные и типы
- •Взаимодействие с посетителем
- •Особенности операторов
- •Логические операторы
- •Конструкция switch
- •Функции
- •Методы и свойства
Спецификации html5
JavaScript — язык общего назначения, поэтому в спецификации ECMAScript нет ни слова о браузерах.
Все, что их касается описано в семействе стандартов HTML5.
Официальная W3.org DOM спецификация большая, но очень полезная. Используйте ее в качестве авторитетного источника, когда доберетесь до работы с документом.
На сайте w3.org масса информации, но найти в ней то, что нужно, может быть нелегко, особенно когда неизвестно в каком именно стандарте искать. Самый лучший способ — Google с указанием сайта. Например, для поиска document.cookie: "document.cookie site:w3.org".
Итого
Итак, посмотрим какие у нас есть источники информации.
Справочники:
Mozilla Developer Network — информация для Firefox и большинства браузеров. Google-комбо: "RegExp MDC", ключевое слово «MDC».
MSDN — информация по IE. Google-комбо: "RegExp msdn". Иногда лучше добавить термин «JScript»: "RegExp msdn jscript".
Safari Developer Library — информация по Safari.
http://help.dottoro.com — подробная информация по HTML/CSS/JavaScript с учетом браузерной совместимости. Google-комбо: "RegExp dottoro".
http://javascript.ru/manual — справочник по JavaScript на русском языке. К нему можно обращаться и по адресу, если знаете, что искать. Например, так: http://javascript.ru/RegExp. Google-комбо: "RegExp site:javascript.ru".
Спецификации содержат важнейшую информацию о том, как оно «должно работать»:
JavaScript, современный стандарт ES5 (англ), и предыдущий ES3 (рус).
HTML/DOM/CSS — на сайте w3.org. Google-комбо: "document.cookie site:w3.org".
То, как оно на самом деле работает и несовместимости:
Смотрите http://www.quirksmode.org/. Google-комбо: "innerHeight quirksmode".
‹ Книги по JS, HTML/CSS и не только Редакторы для кода ›
См. также
MSDN
Safari Developer Library
Mozilla Developer Network
http://help.dottoro.com
http://javascript.ru/manual
Редакторы для кода
IDE
Лёгкие редакторы
Top 3
P.S.
Есть два вида редакторов: IDE и «лёгкие».
Разница между ними — в том, что IDE загружает весь проект целиком, поэтому может предоставлять автодополнение по функциям всего проекта, удобную навигацию по его файлам и т.п.
Лёгкие редакторы — редактируют конкретный файл (или несколько) и знать не знают о связях между ними.
Некоторые IDE можно использовать как лёгкие редакторы, но обычно IDE сложнее, тяжелее и работают медленнее.
Обязательно нужен хороший редактор.
Тот, который вы выберете должен иметь в своем арсенале:
Подсветку синтаксиса.
Автодополнение.
«Фолдинг» (от англ. folding) — возможность скрыть-раскрыть блок кода.
IDE
Если вы еще не задумывались над этим, присмотритесь к следующим вариантам.
Продукты IntelliJ: WebStorm, а также в зависимости от дополнительного языка программирования PHPStorm (PHP), IDEA (Java) и другие.
Visual Studio, в сочетании с разработкой под .NET (Win)
Продукты на основе Eclipse, в частности Aptana и Zend Studio
Komodo IDE и его облегчённая версия Komodo Edit.
Netbeans
Почти все они, за исключением Visual Studio, кросс-платформенные.
Сортировка в этом списке ничего не означает. Выбор осуществляется по вкусу и по другим технологиям, которые нужно использовать вместе с JavaScript.
Большинство IDE — платные. Но их стоимость невелика, по сравнению с зарплатой веб-разработчика, поэтому ориентироваться можно на удобство.