Введение в JavaScript. Дополнения

содержание Переменные

Переменная - это символическое имя некоторого значения.
Переменные объявляются с помощью ключевого слова var:

var x; // Объявление переменной с именем x.
       // Присваивать значения переменным можно с помощью знака =
x = 0; // Теперь переменная x имеет значение 0

JavaScript поддерживает значения различных типов

содержание Объекты

Наиболее важным типом данных в JavaScript являются объекты.
Объект - это коллекция пар имя/значение или отображение строки в значение.

Доступ к свойствам объектов выполняется с помощью . или []:

содержание Массивы

JavaScript поддерживает массивы (списки с числовыми индексами) значений:

//-->

Массивы и объекты могут хранить другие массивы и объекты:

содержание Выражения содержание

Представленные  синтаксические конструкции, содержащие списки элементов массивов в квадратных скобках или отображения свойств объектов в значения внутри фигурных скобок, часто называют выражениями инициализации.
«Выражение» - это фраза на языке JavaScript, которую можно вычислить, чтобы получить значение.
Например, применение . и [ ] для ссылки на значение свойства объекта или элемента массива является выражением.
Наиболее типичным способом формирования выражений в JavaScript является использование операторов, подобно тому, как показано ниже: Операторы выполняют действия со значениями (операндами) и воспроизводят новое значение.

содержание Арифметические операторы

Наиболее часто используемыми являются арифметические операторы:

содержание Операторы сравнения

  

Операторы сравнения позволяют проверить два значения на равенство или неравенство, выяснить, какое значение меньше или больше, и т. д. Они возвращают значение true или false.

содержание Инструкции

Если фразы в языке JavaScript называются выражениями, то полные предложения называются инструкциями. В программном коде, приведенном выше, строки, заканчивающиеся точками с запятой, являются инструкциями (в примере ниже можно увидеть инструкции, состоящие из нескольких строк, которые не завершаются точками с запятой).

содержание Функции

Функция - это именованный и параметризованный блок программного кода JavaScript, который определяется один раз, а использоваться может многократно.

Функции - это параметризованные блоки программного кода JavaScript, которые можно вызывать многократно.

содержание Методы

При объединении функций с объектами получаются методы:
Функции, присвоенные свойствам объектов, называются методами. Все объекты в JavaScript имеют методы:

содержание Функции, использующие управляющие инструкции JavaScript

Теперь рассмотрим несколько функций, которые демонстрируют применение наиболее часто используемых управляющих инструкций JavaScript.
В JavaScript имеются условные инструкции и инструкции циклов, синтаксически похожие на аналогичные инструкции С, C++, Java и в других языках.

Обратите внимание на инструкции return внутри if/else.

содержание Объекная модель JavaScript

JavaScript - объектно-ориентированный язык, но используемая в нем объектная модель в корне отличается от модели, используемой в большинстве других языков.

Простой пример, демонстрирующий определение класса JavaScript для представления точек на плоскости.
Объекты, являющиеся экземплярами этого класса, обладают единственным методом r(), который вычисляет расстояние между данной точкой и началом координат:

Определение функции-конструктора для инициализации нового объекта Point

function Point(x,y) {// По соглашению имя конструкторов начинается с заглавного символа
this.x = x;// this - ссылка на инициализируемый объект
this.y = y;// Сохранить аргументы в свойствах объекта
}// Ничего возвращать не требуется

Чтобы создать новый экземпляр, необходимо вызвать функцию-конструктор с ключевым словом "new"

var p = new Point(1, 1); // Точка на плоскости с координатами (1,1)

Методы объектов Point определяются за счет присваивания функций свойствам объекта-прототипа, ассоциированного с функцией-конструктором.

Point.prototype.r = function() { //Point.prototype.r = function() { 
return Math.sqrt(// Вернуть корень квадратный от x^2 + y^2 
this.x * this.x +// this - это объект Point, относительно которого... 
this.y * this.y// ...вызывается метод. 
); 
}; 
// Теперь объект р типа Point (и все последующие объекты Point) наследует метод r();
p.r();