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

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 Заявления if...else JS Заявление switch JS Цикл for JS Цикл while JS Заявление break... JS Преобразование... JS Битовые... JS Регулярные выражения JS Ошибки JS Область JS Подъемный JS Строгий JS Ключевое слово this JS Ключевое слово let JS Константы JS Функция стрелки JS Классы JS Отладчик JS Руководство стиля JS Практика JS Распространенные ошибки JS Эффективность JS Зарезервированные слова JS Версии JS Версия ES5 JS Версия ES6 JS Версия 2016 JS Версия 2017 JS JSON

JS Формы

JS Формы JS Формы API

JS Объекты

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

JS Функции

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

JS Прочее

Классы введение Наследование класса Статические методы... JS Обратный вызов JS Асинхронный JS Обещания JS Асинхронный синтаксис

JS HTML DOM

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

JS Браузера BOM

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

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 Веб API

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

JS или jQuery

jQuery HTML Селекторы jQuery HTML Элементы jQuery CSS Стили jQuery HTML 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.

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


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

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

Пример

var person = "John Doe";
Попробуйте сами »

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

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

Пример

var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
Попробуйте сами »

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


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

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

Свойство Значение
firstName John
lastName Doe
age 50
eyeColor blue

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

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

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

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

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

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

Свойство Значение
firstName John
lastName Doe
age 50
eyeColor blue
fullName function() {return this.firstName + " " + this.lastName;}

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

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


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

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

Есть разные способы создания новых объектов:

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

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


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

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

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

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

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

Пример

var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
Попробуйте сами »

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

Пример

var person = {
  firstName: "John",
  lastName: "Doe",
  age: 50,
  eyeColor: "blue"
};
Попробуйте сами »

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

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

Пример

var person = new Object();
person.firstName = "John";
person.lastName = "Doe";
person.age = 50;
person.eyeColor = "blue";
Попробуйте сами »

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


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

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

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

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

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

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

Пример

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

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