Объекты в JavaScript

Реальные объекты, атрибуты и методы в реальной жизни

В реальной жизни, автомобиль являетсяОбъект.

Автомобили имеют такие свойства, как вес и цветАтрибути такие действия, как запуск и остановкаМетод:

Объект Атрибут Метод

car.name = porsche

car.model = 911

car.length = 4499mm

car.color = white

car.start()

car.drive()

car.brake()

car.stop()

Все автомобили имеют одинаковыеАтрибутно значения свойств различаются у каждого автомобиля.

Все автомобили имеют одинаковыеМетодно методы могут выполняться в разное время.

Объекты в JavaScript

Вы уже знаете, что переменные JavaScript являются контейнерами данных.

Этот кодassignsодин значений(porsche) присваивается переменной carПеременная:

var car = "porsche";

Попробуйте сами

Объект также является переменной. Но объект содержит много значений.

Этот кодassignsнесколько значений(porsche, 911, white) присваивается переменной carПеременная:

var car = {type:"porsche", model:"911", color:"white"};

Попробуйте сами

Значение записываетсяИмя:значениев виде имена:значение (имя и значение разделены двоеточием).

JavaScript-объекты записываютсяИмя:значениеконтейнер.

Атрибут объекта

Имя:значение пары в JavaScript-объекте называетсяАтрибут.

var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"};
Атрибут Значение атрибута
firstName Bill
lastName Gates
age 62
eyeColor blue

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

Объект также может иметьМетод.

Методы выполняются на объектедействие.

Методы записываютсяОпределение функциихранится в атрибуте.

Атрибут Значение атрибута
firstName Bill
lastName Gates
age 62
eyeColor blue
fullName function() {return this.firstName + " " + this.lastName;}

Метод хранится как атрибут функции.

Пример

var person = {
  firstName: "Bill",
  lastName : "Gates",
  id       : 678,
  fullName : function() {
    return this.firstName + " " + this.lastName;
  }
};

ключевое слово this

В определении функцииthis ссылается на "владельца" функции.

в примере вышеthis означает "имея" функцию fullName Объект person.

Иначе говоряthis.firstName Значит Объект thisатрибут firstName.

Пожалуйста, обратите внимание на JS ключевое слово thisВ этой главе вы узнаете больше о ключевом слове this.

Определение объекта

Мы определили (создали) объект JavaScript:

Пример

var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"};

Попробуйте сами

Пробелы и отступы разрешены. Определение объекта может распространяться на несколько строк:

Пример

var person = {
    firstName:"Bill",
    lastName:"Gates",
    age:50,
    eyeColor:"blue"
};

Попробуйте сами

Получение доступа к свойствам объекта

Вы можете получить доступ к свойствам объекта двумя способами:

objectName.propertyName

или

objectName["propertyName"]

Пример 1

person.lastName;

Попробуйте сами

Пример 2

person["lastName"];

Попробуйте сами

Получение доступа к методам объекта

Вы можете получить доступ к методам объекта следующим образом:

objectName.methodName()

Пример

name = person.fullName();

Попробуйте сами

Если выБез использования () Если вызвать метод fullName, то будет возвращеноОпределение функции:

Пример

name = person.fullName;

Попробуйте сами

Методы фактически хранятся в виде значений свойств определений функций.

Не объявляйте строки, числа и логические значения в виде объектов!

Если переменная JavaScript объявлена с помощью ключевого слова "new", то она создается в виде объекта:

var x = new String();        //	Заявление x в качестве объекта String
var y = new Number();        //	Заявление y в качестве объекта Number
var z = new Boolean();       //	Заявление z в качестве объекта Boolean

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

Вы узнаете больше о объектах в более поздних разделах этого учебника.

Книги

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

Технологии面向对象 ECMAScript
Этот раздел кратко объясняет термины面向 объектных технологий, требования языков面向 объектных и состав объектов.
Применение объектов ECMAScript
Этот раздел简要介绍了 как声明 и instantiate объекты, как ссылаться и废除 объектов, а также концепцию привязки.
Типы объектов ECMAScript
Этот раздел кратко объясняет术语面向 объектных технологий, требования языков面向 объектных и состав объектов.
Область действия объектов ECMAScript
Этот раздел объясняет область действия ECMAScript и ключевое слово this.
Определение классов или объектов ECMAScript
Этот раздел подробно объясняет различные способы создания объектов или классов ECMAScript.
Изменение объектов ECMAScript
Этот раздел объясняет, как изменить объект, создавая новые методы или перedefinirovaet существующие методы.