Синтаксис JavaScript Справочник JavaScript Коды клавиш Строгий режим

JavaScript: Объекты

Объект – это неупорядоченная коллекция свойств. Свойство – это часть объекта имитирующая переменную. Свойство состоит из имени и значения.

В JavaScript есть три категории объектов:

Создание объекта

Объект можно создать с помощью литерала объекта или оператора new с конструктором.

Литерал объекта – это заключённый в фигурные скобки список из нуля или более свойств (пар имя: значение), разделённых запятыми. Именем свойства может быть любой допустимый идентификатор, строковой литерал (допускается использовать пустую строку) или число. Числовые имена свойств автоматически преобразуются в строки. Значением свойства может быть значение любого типа или выражение (значением свойства в этом случае станет результат вычисления выражения):

// Создание пустого объекта
var o = {};

// Создание объекта с тремя свойствами
var user = {
  name: "Homer",
  "age": 45,
  1: true
};

Создание объекта с помощью оператора new:

var o = new Object();

Операции с объектом

Основные операции производимые с объектами – это добавление новых свойств, изменение уже существующих свойств, удаление свойств и обращение к свойствам.

Добавить новое свойство в объект можно присвоив свойству значение. Чтобы присвоить свойству значение, к нему нужно получить доступ. Для доступа к свойству используется один из операторов доступа: . (точка) или [] (квадратные скобки):

var o = {};
o.x = 5;       // Добавили новое свойство
o["y"] = 10;   // Добавили новое свойство

Обращение к свойству и изменение значения осуществляется точно так же (с помощью операторов доступа):

var o = {x:5};
alert(o.x);      // Обращение к свойству
alert(o["x"]);   // Обращение к свойству

o.x = 10;        // Изменяем значение

Удаление свойства осуществляется с помощью оператора delete:

var o = {x:5};
alert("x" in o);   // true
delete o.x;
alert("x" in o);   // false

Для перебора свойств объекта используется цикл for-in:

var obj = {x: 5, y: 10, str: "Hi!"};

for (var prop in obj) {
  alert(prop);
}

Методы объекта

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

var o = {
  sayHi: function() {
    alert("Hello!");
  }
};

o.sayHi();   // "Hello!"

Для доступа к свойствам объекта внутри метода используется ключевое слово this. Оно содержит ссылку на объект, с помощью которого был вызван метод:

var o = {
  name: "Homer",
  sayName: function() {
    alert(this.name);
  }
};

o.sayName();   // "Homer"

Вместо ключевого слова this можно использовать непосредственно имя объекта, но это не очень удобно, так как, если изменится имя объекта, в методах придётся также изменять имя:

var o = {
  name: "Homer",
  sayName: function() {
    alert(o.name);
  }
};

o.sayName();   // "Homer"
    
Копирование материалов с данного сайта возможно только с разрешения администрации сайта
и при указании прямой активной ссылки на источник.
2011-2016 © puzzleweb.ru

Реклама на сайте | Обратная связь