Получение экземпляра объекта
Получение экземпляра объекта
Но как нам получить экземпляр нужного объекта?
— Экземпляры многих объектов создаются самим языком JavaScript, Web-обозревателем или библиотеками сторонних разработчиков.
— Экземпляры некоторых объектов возвращаются функциями или методами других объектов.
— Мы можем создать экземпляр объекта сами, написав соответствующее выражение.
Давайте рассмотрим все эти случаи подробно.
Прежде всего, сам язык JavaScript предоставляет нам несколько экземпляров различных объектов. Они хранятся в особых переменных, также создаваемых самим языком.
ВНИМАНИЕ!
Вообще-то, в переменных хранятся ссылки на экземпляры объектов. Просто раньше мы договорились, что будем считать, будто в переменных хранятся сами экземпляры объектов, — так проще.
Так, переменная Math хранит экземпляр одноименного объекта, поддерживающего множество методов для выполнения математических и тригонометрических вычислений над числами:
var a = Math.sqrt(2);
Это выражение поместит в переменную a квадратный корень из 2. Метод sqrt объекта Math как раз вычисляет квадратный корень из числа, переданного ему в качестве единственного параметра.
А метод sin объекта Math вычисляет синус угла, заданного в радианах и переданного данному методу единственным параметром:
var b = Math.sin(0.1);
Как видим, мы просто используем переменную Math, созданную языком JavaScript, чтобы получить доступ к экземпляру объекта Math и его методам.
Web-обозреватель также предоставляет множество экземпляров объектов, представляющих текущую Web-страницу, различные ее элементы и сам Web- обозреватель. Так, Web-страницу представляет экземпляр объекта HTMLDocument, который хранится в переменной document, также созданной Web-обозревателем.
В частности, объект HTMLDocument поддерживает метод write, выводящий переданную ему в качестве единственного параметра строку в то место Web-страницы, где встретился вызов этого метода:
document.write("Привет, посетитель!");
И в этом случае мы просто используем переменную document, созданную Web- обозревателем, чтобы получить доступ к экземпляру объекта HTMLDocument и его методу write.
Сторонние библиотеки также создают множество экземпляров объектов сами. Так, библиотека Ext Core создает экземпляр объекта Ext, хранящийся в одноименной переменной:
var ceLinks = Ext.select("UL[id=navbar] > LI");
Здесь мы обратились к методу select объекта Ext. Данный метод возвращает массив экземпляров объектов Element, каждый из которых представляет элемент Web-страницы, удовлетворяющий переданному ему в качестве единственного параметра специальному селектору CSS. (Кстати, объект Element также определен библиотекой Ext Core.)
Идем далее. Ранее было сказано, что экземпляр объекта можно получить в качестве результата выполнения функции или метода. Вот типичный пример:
var elNavbar = Ext.get("navbar");
Метод get объекта Ext, созданного библиотекой Ext Core, возвращает экземпляр объекта Element, представляющий определенный элемент Web-страницы. В данном случае это будет элемент, значение атрибута тега ID которого равно "navbar" — именно такую строку мы передали методу get в качестве параметра.
Здесь мы также получили готовый экземпляр объекта, с которым сразу можем начать работу.
И, наконец, с помощью оператора создания экземпляра new мы можем создать экземпляр нужного нам объекта сами, явно:
new <имя объекта>([<список параметров, разделенных запятыми>])
Оператор new возвращает созданный экземпляр объекта. Его можно присвоить какой-либо переменной или свойству или передать в качестве параметра функции или методу.
Список параметров может как присутствовать, так и отсутствовать. Обычно он содержит значения, которые присваиваются свойствам экземпляра объекта при его создании.
Язык JavaScript предоставляет нам объект Date, хранящий значение даты и времени. Его экземпляры можно создать только явно, оператором new:
var dNow = new Date();
После выполнения этого выражения в переменной dNow окажется экземпляр объекта Date, хранящий сегодняшнюю дату и текущее время.
А вот выражение, которое поместит в переменную dNewYear экземпляр объекта
Date, хранящий дату 31 декабря 2009 года и текущее время:
var dNewYear = new Date(2009, 12, 31);
Но какой способ получения экземпляра объекта в каком случае применять? Выбор зависит от объекта, экземпляр которого мы хотим получить.
— Экземпляры объектов Web-обозревателя, представляющие Web-страницу и сам Web-обозреватель, доступны через соответствующие переменные.
— Экземпляры объектов Web-обозревателя, представляющие различные элементы Web-страницы, получаются в результате выполнения особой функции или метода.
— Экземпляры всех объектов языка JavaScript, кроме Math, получаются явным созданием с помощью оператора new.
— Экземпляр объекта Math языка JavaScript доступен через одноименную переменную.
Это самые общие правила. А конкретные приемы получения нужного экземпляра объекта мы рассмотрим потом, когда начнем заниматься Web-программированием вплотную.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
Понятия объекта и экземпляра объекта
Понятия объекта и экземпляра объекта В начале этой главы мы познакомились с типами данных, определяющими саму природу данных и набор действий, которые можно выполнять с этими данными. Так, строковый тип определяет, что данные этого типа представляют собой строки —
Получение экземпляра объекта
Получение экземпляра объекта Но как нам получить экземпляр нужного объекта?— Экземпляры многих объектов создаются самим языком JavaScript, Web-обозревателем или библиотеками сторонних разработчиков.— Экземпляры некоторых объектов возвращаются функциями или методами
Свойства и методы экземпляра объекта
Свойства и методы экземпляра объекта Как мы уже знаем, объект определяет набор свойств и методов, которые затем станут "собственностью" всех его экземпляров. Иными словами, экземпляр объекта получит все свойства и методы, что объявлены в объекте, на основе которого он
3.3. Жизненный цикл экземпляра программы и «общая стоимость владения» им
3.3. Жизненный цикл экземпляра программы и «общая стоимость владения» им Жизненный цикл отдельного экземпляра программы, находящегося в эксплуатации, вообще говоря, не совпадает с жизненным циклом самой программы как произведения5.В простейшем, вырожденном случае
Понятия объекта и экземпляра объекта
Понятия объекта и экземпляра объекта В начале этой главы мы познакомились с типами данных, определяющими саму природу данных и набор действий, которые можно выполнять с этими данными. Так, строковый тип определяет, что данные этого типа представляют собой строки —
Свойства и методы экземпляра объекта
Свойства и методы экземпляра объекта Как мы уже знаем, объект определяет набор свойств и методов, которые затем станут "собственностью" всех его экземпляров. Иными словами, экземпляр объекта получит все свойства и методы, что объявлены в объекте, на основе которого он
9.7. Запуск единственного экземпляра демона
9.7. Запуск единственного экземпляра демона Часто блокировки записей используются для обеспечения работы какой-либо пpoгрaммы (например, демона) в единственном экземпляре. Фрагмент кода, приведенный в листинге 9.8, должен выполняться при запуске демона.Листинг 9.8. Гарантия
Разрыв объекта
Разрыв объекта Команда BREAK позволяет удалять части объекта или разбивать его на два. Для ее запуска следует нажать кнопку Break (Разрыв) на вкладке Home (Основная) в группе Modify (Редактирование) ленты или на панели инструментов Modify (Редактирование). Можно также выполнить команду
3.1. Природа объекта
3.1. Природа объекта Что является и что не является объектом? Способностью к распознанию объектов физического мира человек обладает с самого раннего возраста. Ярко окрашенный мяч привлекает внимание младенца, но, если спрятать мяч, младенец, как правило, не пытается его
11.1.2. Создание атрибутов экземпляра
11.1.2. Создание атрибутов экземпляра Имени атрибута экземпляра в Ruby всегда предшествует знак @. Это обычная переменная в том смысле, что она начинает существовать после первого присваивания.В ОО-языках часто создаются методы для доступа к атрибутам, чтобы обеспечить
11.3.3. Динамическое создание экземпляра класса, заданного своим именем
11.3.3. Динамическое создание экземпляра класса, заданного своим именем Такой вопрос мы видели многократно. Пусть дана строка, содержащая имя класса; как можно создать экземпляр этого класса?Правильный способ — воспользоваться методом const_get, который мы только что
11.3.4. Получение и установка переменных экземпляра
11.3.4. Получение и установка переменных экземпляра Отвечая на пожелание употреблять eval как можно реже, в Ruby теперь включены методы, которые могут получить или присвоить новое значение переменной экземпляра, имя которой задано в виде строки:class MyClass attr_reader :alpha, :beta def
2.2. Обеспечение единственности экземпляра переменной при большом количестве исходных файлов
2.2. Обеспечение единственности экземпляра переменной при большом количестве исходных файлов ПроблемаТребуется, чтобы одна и та же переменная использовалась различными модулями программы, а копия переменной должна быть только одна. Другими словами, это должна быть
Разрыв объекта
Разрыв объекта Команда BREAK позволяет удалять части объекта или разбивать объект на два. Для ее запуска следует нажать кнопку Break (Разрыв) на вкладке Home (Основная) в группе Modify (Редактирование) ленты или на панели инструментов Modify (Редактирование). Можно также выполнить
Понятия объекта и экземпляра
Понятия объекта и экземпляра Объект — это сложный тип данных, включающий в себя множество переменных — свойств — и набор функций для манипулирования значениями этих переменных — методов. Здесь все достаточно просто: свойства хранят некие данные, а методы их
Дронов Владимир
Просмотр ограничен
Смотрите доступные для ознакомления главы 👉