ГРУППА КУРСА
|
ОбъектыОбъекты - это способ оъединения данных. Например, Вы создаёте скрипт, который обрабатывает данные пользователя. Если Вы не используете объекты, то эти данные будут находиться в отдельных переменных - логин, пароль, имя пользователя, почта и так далее. Вы понимаете, что все эти данные относятся к пользователю, но с точки зрения программы, это отдельные переменные и они никак не связаны между собой. Вместо этого можно создать объект "пользователь" и у него будут свойства - логин, пароль, имя, почта. Смысл свойств такой же, как у переменных: они содержат данные. Но свойства относятся к конкретному объекту. Это уже не отдельные данные, а свойства объекта. Также у объектов есть методы. Метод - это функция. Но эта функция имеет отношение к объекту. Например, у объекта "пользователь" может быть метод, проверяющий, достаточно ли надёжный пароль имеет пользователь. Метод работает не только со свойствами объекта, но и с переменными. Метод - это тоже свойство объекта. Существуют классы объектов. Класс объединяет одинаковые оъекты, то есть объекты с одним и тем же небором свойств и методов. Например, если скрипт работает с данными не одного пользователя, а сразу нескольких, то можно создать класс "пользователи", который будет содержать объекты "Андрей", "Семён", "Виктор", "Анна". В JavaScript классы реализованы не в полной мере. Но есть языки программирования, в которых объекты невозможно создать без класса. Даже если объект один, то он относится к какому-то классу. Создание объектаСамый простой способ создать объект - с помощью фигурных скобок. имя объекта = { }; Для примера создадим объект с назаванием user. +
После того, как объект создан, можно указать его свойства.
Свойства объекта можно указать при его создании. При этом они пишутся по-другому. Создадим ещё один объект и добавим ему такие же свойства, как у первого:
При таком способе значения свойств указываются после двоеточия, свойства разделаются запятой. Не забывайте ставить точку с зспятой после закрывающей фигурной скобки. Обращение к свойствам, созданным таким образом осуществляется точно так же, как и к свойствам, указанным после создания объекта. В дальнейшем, этому объекту можно добавить другие свойства. Есть другой способ создания объекта. Он выглядит сложнее, поэтому используется редко. Но знать его нужно. Для создания объекта используется ключевое слово new. Далее указывается, что создаётся объект и ставятся скобки. Создадим объект таким способом:
Этот объект ничем не отличается от других. Свойства объектаСвойства работают так же, как переменные. Можно получить значения свойств и можно присвоить им новые значения. Со свойством объекта можно работать не только внутри методов этого объекта, но и в других частях программы. Значение свойства может быть любого типа. Свойство может сожержать объект, в том числе, массив. Добавим второму объекту свойство c именем mas и запишем в него массив:
К этому свойству нужно обращаться не как к переменной, а как к массиву. Можно получить или изменить значение любого элемента массива, добавить новые элементы. К свойству можно обратиться другим способом.
Пишется имя объекта, а затем в квадратных скобках название свойства. При таком способе, имя свойства это строка, поэтому оно пишется в кавычках. Эта строка может содержать разные символы, в том числе, пробелы.
К такому свойству не возможно обратиться через точку. С ним можно работать с помощью квадратных скобок. Методы объектовМетод объекта - это функция, которая производит какие-то действия, имеющие отношение к объекту. Метод имеет доступ не только к свойствам своего объекта но и к другим данным. Метод создаётся точно так же, как свойство, только его значением является функция. Для примера создадим метод объекта user. Он будет выводить значение свойства name. Так как метод - это функция, то он не запускается сам по себе, его нужно вызвать в коде скрипта.
Ключевое слово thisЕсли какой-то метод использует свойство своего объекта, то можно не указавыть имя самого объекта. Вместо этого пишется ключевое слово this. В остальном свойство указывается как обычно: после this ставится точка и пишется имя свойства. Пример:
В данном примере ключевое слово this используется просто для удобства, но при создании классов оно уже необходимо, для того, чтобы методы обращались к свойствам именно своих объектов. Ссылка на объектКогда мы создаём переменную, мы задаём ей имя. С переменной всё просто - у неё есть имя и она содержит значение. Но с объектами всё намного сложнее. Когда мы задаём имя объекту, то мы тоже создаём переменную:
Но переменная содержит не сам объект, а ссылку на него. То есть, переменная содержит ключ, с помощью которого происходит обращение к нему, получение и изменение его свойств. Если скопировать переменную, то копируется не ообъект, а ключ. Для примера скопируем ссылку на объект user:
Теперь есть две переменные, которые содержат ссылку на один и тот же объект. К нему можно обратиться через любую их этих переменных:
Чтобы скопировать сам объект, нужно создать новый и скопировать все свойства и методы. |