Учебник по JS

ГЛАВНАЯ JS Введение JS Куда Вывод JS Заявления JS JS-синтаксис JS-комментарии JS-переменные JS Пусть Константа JS JS-операторы JS-арифметика Назначение JS JS-типы данных JS-функции JS-объекты JS-события JS-строки Строковые методы JS Поиск строки JS Шаблоны строк JS JS-номера Методы номеров JS JS-массивы Методы массива JS Сортировка массива JS Итерация массива JS Константа массива JS JS-даты Форматы даты JS Методы получения даты JS Методы установки даты JS JS-математика JS Случайный JS Булевы значения Сравнение JS JS-условия JS-переключатель JS цикл для Цикл JS для входа Цикл JS для Цикл JS во время Перерыв JS JS-итерации JS-наборы JS-карты JS Typeof Преобразование типов JS JS побитовый JS регулярное выражение JS-ошибки Область JS JS-подъем Строгий режим JS JS это ключевое слово Функция стрелки JS JS-классы JS JSON JS-отладка Руководство по стилю JS Лучшие практики JS JS-ошибки JS-производительность Зарезервированные слова JS

JS-версии

JS-версии JS 2009 (ES5) JS 2015 (ES6) JS 2016 JS 2017 JS 2018 JS IE/пограничный История JS

JS-объекты

Определения объектов Свойства объекта Методы объекта Отображение объекта Средства доступа к объектам Конструкторы объектов Прототипы объектов Итерации объектов Наборы объектов Карты объектов Ссылка на объект

JS-функции

Определения функций Параметры функции Вызов функции Вызов функции Функция Применить Закрытие функций

JS-классы

Введение в класс Наследование классов Статический класс

JS асинхронный

Обратные вызовы JS JS асинхронный JS-обещания JS асинхронный/ожидание

JS HTML DOM

Дом Введение DOM-методы Документ DOM DOM-элементы DOM HTML DOM-формы ДОМ CSS DOM-анимации События ДОМ Слушатель событий DOM DOM-навигация DOM-узлы Коллекции DOM Списки узлов DOM

Спецификация браузера JS

JS-окно JS-экран Местоположение JS История JS JS-навигатор Всплывающее оповещение JS JS Тайминг JS-куки

JS-веб-API

Введение в веб-API API веб-форм API истории веб-поиска API веб-хранилища API веб-работника API веб-выборки API веб-геолокации

JS АЯКС

Введение в АЯКС AJAX XMLHttp АЯКС-запрос AJAX-ответ XML-файл AJAX АЯКС PHP АЯКС АСП База данных AJAX AJAX-приложения Примеры AJAX

JS JSON

Введение в JSON Синтаксис JSON JSON против XML Типы данных JSON Анализ JSON Строковая JSON JSON-объекты JSON-массивы JSON-сервер JSON PHP JSON HTML JSON JSONP

JS против JQuery

Селекторы jQuery JQuery HTML jQuery CSS JQuery DOM

JS-графика

JS-графика JS Холст JS сюжет JS Chart.js JS Google Диаграмма JS D3.js

JS-примеры

JS-примеры JS HTML DOM JS HTML-ввод HTML-объекты JS HTML-события JS JS-браузер JS-редактор JS-упражнения JS-викторина JS-сертификат

JS-ссылки

Объекты JavaScript HTML DOM-объекты


Объекты JavaScript


Реальные объекты, свойства и методы

В реальной жизни машина — это объект .

Автомобиль имеет такие свойства , как вес и цвет, а также такие методы , как запуск и остановка:

Объект Характеристики Методы

car.name = Fiat

car.model = 500

car.weight = 850kg

car.color = белый

car.start()

car.drive()

car.brake()

car.stop()

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

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


Объекты JavaScript

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

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

let car = "Fiat";

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

Этот код присваивает множество значений (Fiat, 500, белый) переменной car:

const car = {type:"Fiat", model:"500", color:"white"};

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

Общепринятой практикой является объявление объектов с помощью ключевого слова const .

Узнайте больше об использовании const с объектами в главе: JS Const .



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

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

Пример

const person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};

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

Пример

const person = {
  firstName: "John",
  lastName: "Doe",
  age: 50,
  eyeColor: "blue"
};

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

Пары имя:значения в объектах JavaScript называются свойствами :

Имущество Стоимость имущества
имя Джон
фамилия Доу
возраст 50
цвет глаз синий

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

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

objectName.propertyName

или

objectName["propertyName"]

Пример1

person.lastName;

Пример2

person["lastName"];

Объекты JavaScript — это контейнеры для именованных значений, называемых свойствами.


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

Объекты также могут иметь методы .

Методы — это действия , которые можно выполнять над объектами.

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

Имущество Стоимость имущества
имя Джон
фамилия Доу
возраст 50
цвет глаз синий
полное имя function() {возвратите this.firstName + " " + this.lastName;}

Метод — это функция, хранимая как свойство.


Пример

const person = {
  firstName: "John",
  lastName : "Doe",
  id       : 5566,
  fullName : function() {
    return this.firstName + " " + this.lastName;
  }
};

это ключевое слово

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

В приведенном выше примере thisэто объект person , который «владеет» fullNameфункцией.

Другими словами, this.firstNameозначает firstNameсвойство этого объекта .

Узнайте больше о thisключевом слове в JS this Keyword .


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

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

objectName.methodName()

Пример

name = person.fullName();

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

Пример

name = person.fullName;

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

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

x = new String();        // Declares x as a String object
y = new Number();        // Declares y as a Number object
z = new Boolean();       // Declares z as a Boolean object

Избегайте String, Numberи Booleanобъектов. Они усложняют ваш код и замедляют скорость выполнения.

Вы узнаете больше об объектах позже в этом уроке.


Проверьте себя с помощью упражнений

Упражнение:

Оповещение "John"путем извлечения информации из personобъекта.

const person = {
  firstName: "John",
  lastName: "Doe"
};

alert();