English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

JavaScript Основы Уроков

JavaScript Объекты

JavaScript Функции

JS HTML DOM

JS Браузер BOM

AJAX Основы Уроков

JavaScript Референс Мануал

Объект (Object) в JavaScript

Понимание объектов JavaScript

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"
};
Проверьте, как это работает‹/›

В более поздней части этого руководства мы будем обсуждатьКонструктор объектаиКонструктор.

Свойства объекта

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

Атрибуты обычно представляют собой характеристики объекта.

АтрибутЗначение атрибута
firstNameVishal
lastNameChoudhary
age22
locationNew Delhi

Доступ к свойствам объекта

Есть два способа доступа к свойствам объекта:

  • Точечное представление: .

  • Символы в скобках: []

Давайте вернемся к исходному примеру объектаuser.

Точка и скобки часто используются. Но точечное представление быстрее и читабельнее.

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

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

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

АтрибутЗначение атрибута
firstNameVishal
lastNameChoudhary
age22
locationNew Delhi
getNamefunction() {return this.firstName + " " + this.lastName;}
  var user = {
  firstName  : "Vishal",
  lastName   : "Choudhary",
  age        : 22,
  location    : "New Delhi",
  getName    : function() {
   return this.firstName + " " + this.lastName;
  }
  };

Обратите внимание:Методы хранятся как функции как свойства.

Доступ к методам объекта

Чтобы получить метод объекта, вы можете вызвать его, как обычную функцию, просто добавив его к переменной объекта.

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

Что такоеКлючевое слово "this"?

Вы, возможно, уже заметили, что наши методы несколько странные. Вот пример:

  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 Ключевое слово

Когда вы используете ключевое слово new при объявлении переменной JavaScript, переменная создается как объект:

  var a = new Number(); // a объявлен как объект Number
  var b = new String(); // b объявлен как объект String
  var c = new Boolean(); // c объявлен как объект Boolean

избегайте использованияStringNumberиBooleanОбъекты. Они могут усложнить ваш код и замедлить его выполнение.

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