Объекты, функции и «классы»
Объекты и оператор new
В JavaScript все состоит из объектов (как в нашем мире). Переменная – объект, функция – тоже объект! Мы даже можем записывать функции в переменные.
Создание объекта с помощью оператора new
В предыдущем уроке мы создавали окно (создали объект)
Спойлер Скриншот:
Оператор new создает новый объект, используя функцию-конструктор (функция initialize), которая может быть как встроенной в javascript (Date, String), так и определенной пользователем.
Когда наш плагин будет выполнять эту строчку, то оператор new создаст окно (объект), вызвав функцию initialize (передав параметры x, y, width, height) и объект запишется в переменную.
Функция initialize окна Window_Base
Спойлер Скриншот:
Оператор new всегда вызывает первой функцию initialize у создаваемого объекта.
У окна Window_Base явно определена функция initialize, но можно и не определять ее.
Спойлер Скриншот:
В данном случае функция func сама по себе является initialize. Также можно заметить, что без оператора new значение переменной a неопределенно.
Договоримся о понятиях
В JavaScript нет понятия класс, но мы будем использовать его для обозначения сцен, окон, спрайтов и т.д.
Что такое класс? Класс – коробка. Коробка, в которую мы можем положить вещи (какие-то данные), также мы можем производить различные действия с коробкой (открыть, посмотреть и т.д.) – это функции.
Итак, класс – это набор данных и функций для взаимодействия с этими данными.
Социальные закладки