САМОСТОЯТЕЛЬНОЕ ОБУЧЕНИЕ ДЛЯ ВЕБ РАЗРАБОТЧИКОВ
×

JS Учебник

JS Главная JS Введение JS Где установить? JS Вывод JS Заявления JS Синтаксис JS Комментарии JS Переменные JS Let JS Const JS Операторы JS Арифметика JS Присваивание JS Типы данных JS Функции JS Объекты JS События JS Строки JS Методы строк JS Поиск строк JS Шаблоны строк JS Числа JS Методы чисел JS Массивы JS Методы массива JS Сортировка массива JS Итерация массива JS Постоянный массив JS Даты JS Формат дат JS Методы получения дат JS Методы набора дат JS Объекты Math JS Случайные числа JS Булевы JS Сравнения JS Оператор If...Else JS Оператор Switch JS Цикл For JS Цикл For In JS Цикл For Of JS Цикл While JS Оператор Break JS Повторяющиеся JS Наборы JS Карты JS Typeof JS Преобразование типов JS Битовые JS Регулярные выражения JS Ошибки JS Область JS Подъемный JS Строгий JS Ключевое слово this 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/Edge JS История

JS Объекты

Определение объекта Свойства объекта Методы объекта Отображение объекта Доступ объекта Конструкторы объекта Прототипы объекта Справочник объектов

JS Функции

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

JS Классы

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

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

JS Обратный вызов JS Асинхронный JS Обещания JS Асинхронный

JS HTML DOM

DOM Введение DOM Методы DOM Документы DOM Элементы DOM HTML DOM Формы DOM CSS DOM Анимация DOM События DOM Прослушиватель событий DOM Навигация DOM Узлы DOM Коллекция DOM Список узлов

JS Браузер BOM

JS Window JS Экран JS Расположение JS История JS Навигатор JS Предупреждение JS Синхронизация JS Куки

JS Веб APIы

Веб API Введение Веб История API Веб Хранилище API Веб Работник API Веб Извлечь API Веб Геолокации API

JS AJAX

AJAX Введение AJAX XMLHttp AJAX Запрос на сервер AJAX Ответ с сервера AJAX XML Файл AJAX PHP Файл AJAX ASP Файл AJAX База данных AJAX Приложения AJAX Примеры

JS JSON

JSON Введение JSON Синтаксис JSON или XML JSON Типы данных JSON Парсинг JSON Строки JSON Объекты JSON Массивы JSON PHP JSON HTML JSON JSONP

JS или jQuery

jQuery Селекторы jQuery Элементы jQuery CSS jQuery DOM

JS Примеры

JS Примеры JS HTML DOM JS HTML Ввод JS HTML Объекты JS HTML События JS Браузер JS Редактор JS Упражнения JS Викторина JS Сертификат

JS Справочник

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


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



В JavaScript объекты являются королями. Если вы разбираетесь в объектах, вы понимаете JavaScript.


В JavaScript почти "все" является объектом.

  • Логические значения могут быть объектами (если они определены с помощью ключевого слова new)
  • Числа могут быть объектами (если они определены с помощью ключевого слова new)
  • Строки могут быть объектами (если они определены с помощью ключевого слова new)
  • Даты - всегда объекты
  • Математика - всегда объекты
  • Регулярные выражения - всегда являются объектами
  • Массивы - всегда объекты
  • Функции - всегда являются объектами
  • Объекты - всегда являются объектами

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


JavaScript Примитивы

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

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

JavaScript определяет 5 типов примитивных типов данных:

  • string
  • number
  • boolean
  • null
  • undefined

Примитивные значения неизменны (они жестко запрограммированы и поэтому не могут быть изменены).

если x = 3.14, вы можете изменить значение x. Но вы не можете изменить значение 3.14.

ЗначениеТипКомментарий
"Привет"string"Привет" всегда "Привет"
3.14number3.14 всегда 3.14
truebooleantrue всегда true
falsebooleanfalse всегда false
nullnull(объект)null всегда null
undefinedundefinedundefined всегда undefined


Объекты - это переменные

JavaScript Переменные могут содержать отдельные значения:

Пример

var person = "Щипунов Андрей";
Попробуйте сами »

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

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

Пример

var person = {firstName:"Щипунов", lastName:"Андрей", age:50, eyeColor:"зеленый"};
Попробуйте сами »

JavaScript Объект - это набор именованных значений


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

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

Свойство Значение
firstName Щипунов
lastName Андрей
age 50
eyeColor зеленый

Объекты, записанные как пары имя-значение, похожи на:

  • Ассоциативные массивы в PHP
  • Словарь в Python
  • Хеш - таблицы в C
  • Хеш - карты в Java
  • Хеши в Ruby и Perl

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

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

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

Метод объекта является свойством объекта, содержащим определение функции.

Свойство Значение
firstName Щипунов
lastName Андрей
age 50
eyeColor зеленый
fullName function() {return this.firstName + " " + this.lastName;}

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

Вы узнаете больше о методах в следующих главах.


JavaScript Создание объекта

С помощью JavaScript вы можете определять и создавать свои собственные объекты.

Существуют разные способы создания новых объектов:

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

В ECMAScript 5 объект также может быть создан с помощью функции Object.create().


Использование литерала объекта

Это самый простой способ создать объект JavaScript.

Используя литерал объекта, вы одновременно определяете и создаете объект в одном заявлении.

Литерал объекта - это список пар имя:значение (например, age:50) в фигурных скобках {}.

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

Пример

var person = {firstName:"Щипунов", lastName:"Андрей", age:50, eyeColor:"зеленый"};
Попробуйте сами »

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

Пример

var person = {
firstName: "Щипунов",
lastName: "Андрей",
age: 50,
eyeColor: "зеленый"
};
Попробуйте сами »

Использование JavaScript ключевого слова new

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

Пример

var person = new Object();
person.firstName = "Щипунов";
person.lastName = "Андрей";
person.age = 50;
person.eyeColor = "зеленый";
Попробуйте сами »

Два приведенных выше примера делают то же самое. Нет необходимости использовать new Object().
Для простоты, удобочитаемости и скорости выполнения используйте первый (метод литерала объекта).


JavaScript Объекты изменяемы

Объекты изменчивы: к ним обращаются по ссылке, а не по значению.

Если person является объектом, следующее утверждение не создаст копию person:

var x = person; // Это не создаст копию person.

Объект x не является копией person. Это является person. И x, и person - один и тот же объект.

Любые изменения в x также изменят person, потому что x и person - один и тот же объект.

Пример

var person = {firstName:"Щипунов", lastName:"Андрей", age:50, eyeColor:"зеленый"}

var x = person;
x.age = 10; // Это изменит как x.age, так и person.age
Попробуйте сами »