JavaScript Объекты
Объекты, свойства и методы из реальной жизни
В реальной жизни автомобиль - это объект.
Автомобиль имеет такие свойства, как вес и цвет, а также методы, такие как старт и стоп:
| Объект | Свойства | Методы |
|---|---|---|
|
car.name = Фиат car.model = 500 car.weight = 850kg car.color = белый |
car.start() car.drive() car.brake() car.stop() |
Все автомобили имеют одинаковые свойства, но значения свойств различаются от машины к машине.
У всех автомобилей одни и те же методы, но методы выполняются в разное время.
Объекты JavaScript
Вы уже узнали, что переменные JavaScript являются контейнерами для значений данных.
Этот код присваивает простое значение (Фиат) переменной с именем car:
var car = "Фиат";
Попробуйте сами »
Объекты тоже переменные. Но объекты могут содержать много значений.
Этот код присваивает много значений (Фиат, 500, белый) переменной с именем car:
var car = {type:"Фиат", model:"500", color:"белый"};
Попробуйте сами »
Значения записываются как пары имя:значение (имя и значение, разделенные двоеточием).
Объекты JavaScript - это контейнеры для именованных значений, называемых свойствами или методами.
Определение объекта
Вы определяете (и создаете) объект JavaScript с помощью литерала объекта:
Пример
var person = {firstName:"Щипунов", lastName:"Андрей", age:50, eyeColor:"зеленый"};
Попробуйте сами »
Пробелы и перенос строки не важны. Определение объекта может занимать несколько строк:
Пример
var person = {
firstName: "Щипунов",
lastName: "Андрей",
age: 50,
eyeColor: "зеленый"
};
Попробуйте сами »
Свойства объекта
Пара имя:значения в объектах JavaScript называются свойствами:
| Свойство | Значение свойства |
|---|---|
| firstName | Щипунов |
| lastName | Андрей |
| age | 50 |
| eyeColor | зеленый |
Доступ к свойствам объекта
Вы можете получить доступ к свойствам объекта двумя способами:
objectName.propertyName
или
objectName["propertyName"]
Методы объекта
У объектов также могут быть методы.
Методы - это действия, которые можно выполнять с объектами.
Методы хранятся в свойствах как определения функций.
| Свойство | Значение свойства |
|---|---|
| firstName | Щипунов |
| lastName | Андрей |
| age | 50 |
| eyeColor | зеленый |
| fullName | function() {return this.firstName + " " + this.lastName;} |
Метод - это функция, хранящаяся как свойство.
Пример
var person = {
firstName: "Щипунов",
lastName : "Андрей",
id : 5566,
fullName : function() {
return this.firstName + " " + this.lastName;
}
};
Ключевое слово this
В определении функции this относится к "владельцу" функции.
В приведенном выше примере this это объект person,
которому "принадлежит" fullName функция.
Другими словами, this.firstName
означает firstName свойство этого объекта.
Подробнее о this
ключевом слове читайте в JS this ключевое слово.
Доступ к методам объекта
Вы получаете доступ к методу объекта со следующим синтаксисом:
objectName.methodName()
Если вы обращаетесь к методу без скобок (), он вернет определение функции:
Не объявляйте строки, числа и логические значения как объекты!
Когда переменная JavaScript объявляется с ключевым словом "new",
переменная создается как объект:
var x = new String(); // Объявляет x как строковый объект
var y = new Number(); // Объявляет x как числовой объект
var z = new Boolean(); // Объявляет z как логический объект
Избегайте String, Number,
и Boolean объектов.
Они усложняют ваш код и замедляют скорость выполнения.
Вы узнаете больше об объектах позже в этом руководстве.
