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