Панель или окно типичного «инструмента разработчика» включает множество вкладок, позволяющих исследовать структуру HTML-документа, стили CSS, наблюдать за выполнением сетевых запросов и т. д. Среди них имеется вкладка JavaScript console (Консоль JavaScript), где можно вводить строки программного кода JavaScript и выполнять их. Это самый простой способ поэкспериментировать с JavaScript, и я рекомендую использовать его во время чтения этой книги.
В современных броузерах имеется простой переносимый API консоли. Для вывода текста в консоль можно использовать функцию console.log. Зачастую такая возможность оказывается удивительно полезной при отладке, и некоторые примеры из этой книги (даже в разделе, посвященном базовому языку) используют console.log
для вывода простого текста. Похожий, но более навязчивый способ вывода информации или отладочных сообщений заключается в передаче строки текста функции alert, которая отображает его в окне модального диалога.
1.1 Базовый JavaScript
Этот раздел представляет собой обзор языка JavaScript, а также обзор первой части этой книги. После этой вводной главы мы опустимся на самый нижний уровень JavaScript: в главе 2 «Лексическая структура» будут описаны основные лексические конструкции JavaScript, такие как комментарии, точки с запятой и набор символов Юникода. В главе 3 «Типы данных, значения и переменные» мы начнем рассматривать более интересные темы: здесь будут описаны переменные JavaScript и значения, которые можно присваивать этим переменным. Ниже приводится пример программного кода, иллюстрирующий предмет обсуждения этих двух глав:
// Все, что следует за двумя символами слэша, является комментарием.
// Внимательно читайте комментарии: они описывают программный код JavaScript.
// Переменная - это символическое имя некоторого значения.
// Переменные объявляются с помощью ключевого слова var:
var х; // Объявление переменной с именем х.
// Присваивать значения переменным можно с помощью знака =
х = 0; // Теперь переменная х имеет значение 0
х // => 0: В выражениях имя переменной замещается ее значением.
// JavaScript поддерживает значения различных типов
х = 1; // Числа.
х = 0.01; // Целые и вещественные числа представлены одним типом,
х = "hello world"; // Строки текста в кавычках,
х = 'JavaScript'; // Строки можно также заключать в апострофы,
х = true; // Логические значения,
х = false; // Другое логическое значение.
х = null; // null - особое значение, обозначающее "нет значения",
х = undefined; // Значение undefined подобно значению null.
Двумя другими очень важными типами данных, которыми могут манипулировать программы на JavaScript, являются объекты и массивы. Они будут рассматриваться в главе 6 «Объекты» и в главе 7 «Массивы» однако они настолько важны, что вы не раз встретитесь с ними, прежде чем дойдете до этих глав.
// Наиболее важным типом данных в JavaScript являются
объекты.
// Объект - это коллекция пар имя/значение или отображение строки в значение.
var book = { // Объекты заключаются в фигурные скобки.
topic: "JavaScript", // Свойство "topic" имеет значение "JavaScript",
fat: true // Свойство "fat" имеет значение true.
}; // Фигурная скобка отмечает конец объекта.
// Доступ к свойствам объектов выполняется с помощью . или []:
book.topic // => "JavaScript"
book["fat"] // => true: другой способ получить значение свойства,
book.author = "Flanagan": // Создать новое свойство присваиванием,
book.contents = {}; // {} - пустой объект без свойств.
// JavaScript поддерживает массивы (списки с числовыми индексами) значений:
var primes = [2, 3, 5, 7]; // Массив из 4 значений, ограничивается [ и ].
primes[0] // => 2: первый элемент (с индексом 0) массива,
primes.length // => 4: количество элементов в массиве.
primes[primes.length-1] // => 7: последний элемент массива.
primes[4] = 9: // Добавить новый элемент присваиванием.
primes[4] = 11; // Или изменить значение имеющегося элемента.
var empty = []; // [] - пустой массив без элементов.
empty.length // => О
// Массивы и объекты могут хранить другие массивы и объекты:
var points = [ // Массив с 2 элементами.
{х:0, у:0}, // Каждый элемент - это объект.
{х: 1, у: 1}
];
var data = { // Объект с 2 свойствами
triall: [[1.2], [3.4]], // Значение каждого свойства - это массив.
trial2: [[2,3]. [4,5]] // Элементами массива являются массивы.
};
Синтаксические конструкции, представленные выше и содержащие списки элементов массивов в квадратных скобках или отображения свойств объектов в значения внутри фигурных скобок, часто называют выражениями инициализации, которые будут рассматриваться в главе 4 «Выражения и операторы». Выражение - это фраза на языке JavaScript, которую можно вычислить, чтобы получить значение. Например, применение . и [ ] для ссылки на значение свойства объекта или элемента массива является выражением. Возможно, вы заметили, что в листинге, приведенном выше, в строках, содержащих только выражение, комментарии начинаются со стрелки (=>), за которой следует значение выражения. Этому соглашению мы будем следовать на протяжении всей книги.