English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
JavaScriptОбъектявляется типом данных, состоящим изИмяиЗначениесоставляющие набор, сИмя: значениеПредставление.
name:value пары могут содержать любые данные типов свойств (включая строки, числа и булевы значения) и методы, которые являются функциями, включенными в объект.
Объекты в JavaScript являются независимыми сущностями и могут сравниваться с объектами реального мира.
Например, у автомобиля есть имя и цвет и т.д.Атрибути такие функции, как start(запуск) и stop(остановка)Методыобъекта:
Объект | Атрибут | Методы |
---|---|---|
car.name =蝎子座 car.model = 600 car.color = красный car.horsePower = 103KW | car.start() car.drive() car.brake() car.stop() |
Все автомобили имеют одинаковыеАтрибутНо свойства каждого автомобиляВсе значенияРазличия.
Все автомобили имеют одинаковыеМетодыНо эти методы могут иметьРазличные функции.
Объекты - это тип данных в JavaScript, как и числа или строки. Как тип данных, объекты могут содержаться в переменных.
Есть несколько способов создать объект с помощью JavaScript:
ИспользуяКонстанты объектовкоторый использует фигурные скобки: {}
ИспользуяКонструктор объектакоторый использует new Object()
Или вы можете сначала создатьКонструкторзатем примерим объект, который вызывает эту функцию
В этом примере мы будем использовать Объектный литерал (object literal)Что такое литерал? Литерал - это постоянное значение, используемое для присвоения значения переменной
var user = {firstName:"Vishal", lastName:"Choudhary", age:22, location:"New Delhi"};Проверьте, как это работает‹/›
Определение объекта может распространяться на несколько строк.
var user = { firstName : "Vishal", lastName: "Choudhary", age: 22, location: "New Delhi" };Проверьте, как это работает‹/›
В более поздней части этого руководства мы будем обсуждатьКонструктор объектаиКонструктор.
Атрибуты представляют собой связь между именем и значением в объекте и могут содержать любой тип данных.
Атрибуты обычно представляют собой характеристики объекта.
Атрибут | Значение атрибута |
---|---|
firstName | Vishal |
lastName | Choudhary |
age | 22 |
location | New Delhi |
Есть два способа доступа к свойствам объекта:
Точечное представление: .
Символы в скобках: []
Давайте вернемся к исходному примеру объектаuser.
user.firstName;Проверьте, как это работает‹/›
user["firstName"];Проверьте, как это работает‹/›
Точка и скобки часто используются. Но точечное представление быстрее и читабельнее.
Методы хранятся как функции в качестве значений атрибутов объекта, поэтому это задачи, которые может выполнять объект.
Методы хранятся в качестве атрибутов какОпределение функции.
Атрибут | Значение атрибута |
---|---|
firstName | Vishal |
lastName | Choudhary |
age | 22 |
location | New Delhi |
getName | function() {return this.firstName + " " + this.lastName;} |
var user = { firstName : "Vishal", lastName : "Choudhary", age : 22, location : "New Delhi", getName : function() { return this.firstName + " " + this.lastName; } };
Обратите внимание:Методы хранятся как функции как свойства.
Чтобы получить метод объекта, вы можете вызвать его, как обычную функцию, просто добавив его к переменной объекта.
user.getName();Проверьте, как это работает‹/›
Если метод вызывается без скобок (), он возвращает определение функции:
user.getName;Проверьте, как это работает‹/›
Вы, возможно, уже заметили, что наши методы несколько странные. Вот пример:
getName: function() { return this.firstName + " " + this.lastName; }
Ключевое слово this указывает на то, что код написан внутри текущего объекта - поэтому в данном случае this эквивалентноuser.
Иными словами, this.firstName означаетЭтот объектсвойство firstName.
Вы можетеJS thisУчебникКлючевое слово this в JSУзнайте больше о данном ключевом слове.
Когда вы просматриваете эти примеры, вы, возможно, постоянно думаете о том, что используемые знаки препинания вам очень знакомы. Это потому, что вы использовали его на протяжении всего руководства.
Каждый раз, когда мы遍яем примеры с использованием встроенных объектов JavaScript.
Когда вы используете следующие строки для доступа к модели объекта документа:
document.write("Hello world"); document.getElementById("para");
Вы используетеDocumentМетоды, доступные на примере класса. Для каждой загруженной веб-страницы создаетсяDocumentПример, называемыйdocumentпредставляет структуру всей страницы, содержимое и другие функции, такие как URL. Это также означает, что у него есть несколько доступных стандартных методов/свойств.
Когда вы используете ключевое слово new при объявлении переменной JavaScript, переменная создается как объект:
var a = new Number(); // a объявлен как объект Number var b = new String(); // b объявлен как объект String var c = new Boolean(); // c объявлен как объект Boolean
избегайте использованияString,NumberиBooleanОбъекты. Они могут усложнить ваш код и замедлить его выполнение.
Вы узнаете больше о объектах в后面的 части этого руководства.