Встроенные объекты javascript – Разбираемся с объектами в JavaScript / Wirex corporate blog / Habr

Встроенные объекты ECMAScript

Когда программа на ECMAScript начинает выполняться, ей доступны определённые встроенные объекты. Один из них, глобальный объект, находится в иерархии областей видимости исполняемой программы. Другие доступны как предопределённые свойства глобального объекта.

Если иное не указывается явно, свойство [[Class]] встроенного объекта равно либо "Function", если у этого встроенного объекта есть свойство [[Call]], либо "Object", если у этого встроенного объекта нет свойства [[Call]].

Многие встроенные объекты являются функциями, т.е. они могут быть вызваны с определёнными аргументами. Некоторые из них являются конструкторами, т.е. функциями, которые следует использовать с оператором new. Для каждой встроенной функции данная спецификация описывает требуемые данной функцией аргументы и свойства объекта Function. Для каждого встроенного конструктора данная спецификация описывает свойства объекта-прототипа этого конструктора и свойства конкретных экземпляров объекта, возвращаемых выражением new, которое вызывает конструктор.

Если иное не указывается явно в описании конкретной функции, если функции или конструктору, описанному в данном разделе, передано меньше параметров, чем указано в его описании, функция или конструктор будет вести себя, как будто ему (ей) было передано достаточное количество дополнительных аргументов, каждый из которых представляет собой значение

undefined value.

Если иное не указывается явно в описании конкретной функции, если функции или конструктору, описанному в данном разделе, передано больше параметров, чем указано в его описании, поведение функции или конструктора не определено. В частности, реализациям разрешается (но не предписывается в обязательном порядке) бросать в этом случае исключение TypeError.

ЗАМЕЧАНИЕ
Реализациям, добавляющим дополнительные возможности к набору встроенных функций, рекомендуется делать это путём определения новых функций, а не путём введения новых параметров для старых функций
.

В качестве значения внутреннего свойства [[Prototype]] каждая встроенная функция и каждый встроенный конструктор имеют объект "прототип Function", представляющий собой первоначальное значение выражения Function.prototype (см. раздел 15.3.2.1).

В качестве значения внутреннего свойства [[Prototype]] кажды

Встроенные объекты JavaScript

Эта книга не является справочником по JavaScript, и поэтому мы рассмотрим лишь основные принципы работы с объектами, причем самыми необходимыми, а именно: с объектом, представляющим браузер, с объектом, представляющим окно со всеми его подобъектами, и с базовыми объектами.
Объект navigator отвечает за информацию о браузере. Все его основные свойства и методы представлены в табл. 11.1.

Таблица 11.1. Основные свойства и методы объекта navigator

 

Свойство

Описание

appCodeName

Кодовое имя браузера

appName

Официальное имя браузера

appVersion

Версия браузера

language

Язык браузера

platform

Платформа, на которой выполняется браузер

Методы

Описание

javaEnabled

Поддержка языка Java браузером

 

Создадим HTML-страницу с использованием этого объекта, который будет выдавать информацию о нашем браузере (листинг 11.6).

 

Листинг 11.6. Вывод информации о браузере

Как это выглядит на экране показано на рис. 11.2.

Рис. 11.2. Результаты работы листинга 11.6

 

Теперь следует поговорить об объекте window. Это очень большой объект, содержащий множество подобъектов. Все его основные свойства и методы представлены в табл. 11.2.

 

Таблица 11.2. Основные свойства и метода объекта window

 

Свойство

Описание

closed

Индикатор существования текущего объекта: если он закрыт, то значение

 

true, иначе — false

defaultStatus

Сообщение в строке состояния по умолчанию

document

Ссылка на содержимое документа

frames

Ссылка на фреймы, принадлежащие окну

history

Ссылка на историю Web-обозревателя

length

Количество фреймов

location

Текущий URL-адрес документа

locationbar

Подобъект, отвечающий за окно адреса браузера. У него есть свойство

 

visible, которое отвечает за видимость этого окна

menubar

Подобъект, отвечающий за строку меню браузера. У него есть свойство

 

visible, которое отвечает за видимость этого окна

name

Имя данного окна

parent

Ссылается на родительское окно

personalbar

Подобъект, отвечающий за панель Personal браузера. У него есть свойство

 

visible, которое отвечает за видимость этого окна

scrollbars

Подобъект, отвечающий за полосы прокрутки браузера. У него есть свойство

 

visible, которое отвечает за видимость этого окна

status

Содержит строку, отображаемую в строке состояния

statusbar

Подобъект, отвечающий за строку состояния браузера. У него есть свойство

 

visible, которое отвечает за видимость этого окна

toolbar

Подобъект, отвечающий за панель инструментов браузера. У него есть свой­

 

ство visible, которое отвечает за видимость этого окна

window

Ссылается на текущее окно

Методы

Описание

alert()

Выводит на экран диалоговое окно с сообщением

back()

Загружает предыдущий документ

blur()

Убирает фокус из окна

close()

Закрывает текущее окно

confirm()

Выводит диалоговое окно подтверждения (ОК/Отмена)

findO

Выводит на экран диалоговое окно поиска

focus()

Устанавливает фокус на текущее окно

forward()

Загружает следующий документ

home()

Загружает "домашнюю" страницу

open()

Загружает новый экземпляр окна

print()

Выводит содержимое окна на печать

prompt()

Выводит на экран окно с полем ввода

setTimeout()

Производит действия по истечению определенного интервала

stopO

Остановка загрузки текущей страницы

 

Приведем пример использования этого объекта (листинг 11.7).

Листинг 11.7. Пример использования объекта window

 

Теперь рассмотрим подобъекты объекта window. Их всего 4: document, frame, history и location. Вначале перечислим свойства и методы объекта location (табл. 11.3).

Таблица 11.3. Основные свойства и методы объекта location

 

Свойство

Описание

hash

Имя привязки-якоря в адресе документа

host

Имя компьютера и номер порта

hostname

Имя компьютера

href

Полный адрес документа

pathname

Путь и имя файла

port

Номер порта

protocol

Содержит протокол

search

Параметры адреса

Методы

Описание

assign()

Загружает документ

reload()

Перезагрузка текущего документа

replace()

Загружает новую страницу, а также полностью заменяют старую на новую (в истории вызовов страниц документ тоже заменяется)

 

 

 

Приведем пример использования этого объекта (листинг 11.8).

Листинг 11.8. Пример использования объекта location

Рассмотрим объект history. Основные свойства и методы этого объекта представлены в табл. 11.4.

Таблица 11.4. Основные свойства и методы объекта history

Свойство

Описание

current

Адрес текущего документа

length

Количество документов в списке хронологии

next

Адрес предыдущего документа

previous

Адрес следующего документа

Методы

Описание

back()

Загружает предыдущую страницу

forward()

Загружает следующую страницу

go()

Загружает необходимый документ

 

Теперь рассмотрим основные свойства и методы объекта frame. Основные свойства и методы этого объекта представлены в табл. 11.5.

Таблица 11.5. Основные свойства и методы объекта frame

Свойство

Описание

document

Текущий документ, загруженный во фрейм

frames

Ссылки на дочерние фреймы (массив)

length

Количество элементов массива frames

name

Имя фрейма

parent

Главный фрейм

self

Текущий фрейм

top

Окно браузера

Методы

Описание

blur()

Убирает фокус из фрейма

focus()

Устанавливает фокус на фрейм

print()

Вызов диалогового окна печати

 

Рассмотрим объект document. Основные свойства и методы этого объекта представлены в табл. 11.6.

Таблица 11.6. Основные свойства и методы объекта document

Свойство

Описание

activeSlement

Ссылка на элемент, который находится в фокусе

alinkColor

Цвет активной ссылки

bgcolor

Цвет фона документа

fgcolor

Цвет текста документа

formName

Имя формы

height

Высота документа

linkColor

Цвет гиперссылок

title

Заголовок документа

URL

Адрес документа

width

Ширина документа

Методы

Описание

close()

Закрывает поток вывода

getSelection()

Возвращает выделенный текст

write()

Добавляет текст в документ

 

Листинг 11.9. Пример использования объекта document

 

Встроенные объекты JavaScript

Количество просмотров публикации Встроенные объекты JavaScript - 300

Объекты JavaScript объединяют переменные, свойства и функции (методы). Пользователь может создавать свои объекты. JavaScript содержит базовые объекты:

Global – набор высокоуровневых свойств и методов, у которых нет родительского объекта.

String – позволяет форматировать и изменять текстовые строки.

Number – дает возможность обрабатывать числа.

Boolen – позволяет создавать логические величины.

Array – дает возможность создавать и управлять массивами.

Function – позволяет создать функции.

Date – дает возможность работать со временем и датой.

Math – предоставляет некоторые математические функции и константы.

RegExp – позволяет выполнять функции регулярных выражений для заданных строк.

Object – является прототипом для всœех объектов /10/.

Динамический HTML

Динамический HTML (Dynamic HTML - DHTML) – способ создания интерактивного веб-сайта. DHTML включает язык HTML, каскадную таблицу стилей CSS, язык JavaScript. Объектная модель документа (Document Object Model - DOM) связывает три компонента͵ придавая документу возможность динамического изменения страницы без перезагрузки. Динамический HTML предоставляет контроль JavaScript над элементами документа͵ параметрами их оформления и размещения, текстом страницы. Благодаря этому страницы могут динамически менять стили, содержание и оформление. Можно создавать интерактивные документы, взаимодействующие с пользователœем в реальном масштабе времени /10/.

Он должна быть использован для создания приложения в веб-браузере: к примеру для простой навигации, придания интерактивности форм, динамического перетаскивания элементов по экрану. Также он может служить как инструмент для создания основанных на браузере видеоигр /11/.

В листинге 2.18 приведен пример динамической подсветки ссылок.

Листинг 2.18 Динамическая подсветка ссылок на веб-странице.

<a href=”javascript:

for (nIx5Bs=0; nIx5Bs<document.all.length; nIxBs++) {

if(document.all[nIx5Bs].tagName==’A’) {

with(document.all[nIx5Bs].style) {

if(backgroundColor==’yellow’){

void(backgroundColor=document.bgColor)}

else {void(backgroundColor=’yellow’)}}}}>

Подсветить ссылки (вкл/выкл)</a> /7/.

Читайте также


  • - Создание новых объектов в JavaScript

    Объекты JavaScript Реализация объектно-ориентированного программирования в JavaScript Язык JavaScript является объектно-ориентированным языком программирования, в котором реализован второй подход к созданию объектов с определением для новых... [читать подробнее].


  • - Встроенные объекты

    В JavaScript имеются следующие встроенные объекты: · Math – математические константы и функции; · Array – массив; · Global – глобальные методы; · Number – число; · String – строка; · Boolean – булевские данные; · Date – дата и время; · Function – функция; · Object – объект. 4.4.11.1. Объект Math В... [читать подробнее].


  • - Практическая работа №8-9 Встроенные объекты JavaScript, свойства объекта Document, объекты браузера

    ЦЕЛЬ РАБОТЫ Научиться работать с встроенными объектами в JavaScript и объектами браузера ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ 1. Изучить пункт МЕТОДИЧЕСКИЕ УКАЗАНИЯ. 3. Ответить на теоретические вопросы по данной теме руководителю своей группы. 4. Оформить отчет по... [читать подробнее].


  • - Практическая работа №8-9 Встроенные объекты JavaScript, свойства объекта Document, объекты браузера

    ЦЕЛЬ РАБОТЫ Научиться работать с встроенными объектами в JavaScript и объектами браузера ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ 1. Изучить пункт МЕТОДИЧЕСКИЕ УКАЗАНИЯ. 3. Ответить на теоретические вопросы по данной теме руководителю своей группы. 4. Оформить отчет по... [читать подробнее].


  • - Операторы и функции JavaScript

    Операторы служат для управления потоком команд в JavaScript. В JavaScript используются следующие операторы: break, comment, continue, for, for...in, function, if...else, return, var, while, with. Оператор break прерывает цикл for и while, передавая управление первому оператору после цикла. В листинге 2.8 приведен пример... [читать подробнее].


  • - JavaScript сценарии

    JavaScript – объектно-ориентированный язык программирования сценариев. Используется для создания встраиваемых в веб-страницы сценариев, позволяющих полностью управлять веб-страницами и браузерами. JavaScript используется для создания интерактивных веб-страниц и веб-приложений... [читать подробнее].


  • Объекты Javascript в примерах

    Объекты (они же - ассоциативные массивы, хэши) и работа с ними в Javascript - реализованы не так, как в большинстве языков. С этим связано много ошибок и непоняток.

    В этой статье описаны базовые свойства объектов javascript, создание и изменение, перечисление свойств и т.п.

    Объект в javascript представляет собой обычный ассоциативный массив или, иначе говоря, "хэш". Он хранит любые соответствия "ключ => значение" и имеет несколько стандартных методов.

    Метод объекта в javascript - это просто функция, которая добавлена в ассоциативный массив. Далее - подробнее.

    Следующие два варианта создания объекта эквивалентны:

    // эквивалентные записи
    var o = new Object()
    var o = {}
    

    Есть два синтаксиса добавления свойств в объект. Первый - точка, второй - квадратные скобки:

    // эквивалентные записи
    o.test = 5
    o["test"] = 5
    

    Квадратные скобки используются в основном, когда название свойства находится в переменной:

    var name = 'test'
    o[name] = 5
    

    Здесь имя свойства "test" является ключом в ассоциативном массиве, по которому лежит значение 5.

    Доступ к свойству осуществляется точно так же:

    alert(o.test)
    alert(o['test'])
    

    Если у объекта нет такого свойства, то результат будет 'undefined'

    var o = {}
    alert(o.nosuchkey)   // => undefined
    

    Никакой ошибки при обращении по несуществующему свойству не будет, просто вернется специальное значение undefined.

    Проверка глобальной переменной

    В javascript нельзя проверить существование глобальной переменной простым if:

    if (x) { ... }
    

    Если x не определен, то конструкция if (x) вызовет ошибку javascript.

    Распространенное решение - использовать typeof:

    if (typeof x != 'undefined') { ... }  // или typeof(x)
    

    Однако зная, что глобальная переменная в javascript - всего лишь свойство объекта window - мы можем записать проще:

    if (window.x) { ... }   // правильный аналог if(x)
    // или 
    if (window.x !== undefined) // аналог typeof x ..
    

    Все свойства объектов - public, т.е при определении свойства никак нельзя ограничить доступ к свойству. В javascript есть специальные выверты для создания private свойств, связанные с замыканиями. Они рассмотрены вместе с наследованием объектов.

    JavaScript справочник: объекты, DOM, BOM

    Справочник объектов JavaScript

    Справочник содержит описание всех свойств и методов стандартных встроенных объектов JavaScript.

    Объектная модель документа

    Объектная модель документа (Document Object Model, DOM) – это интерфейс программирования приложений (Application Programming Interface, API) для XML, который был расширен также для работы с HTML.

    В DOM всё содержимое страницы (элементы и текст) представляется как иерархия узлов. Рассмотрим следующий код:

    
    <html>
      <head>
        <title>Простая страница</title>
      </head>
      <body>
        <p>Привет Мир!</p>
      </body>
    </html>
    

    Этот код можно изобразить с помощью DOM как иерархию узлов:

    Представляя документ в виде дерева узлов, DOM API предоставляет разработчикам полный контроль над содержимым и структурой веб-страницы.

    При описании древовидной структуры DOM используется терминология, которая была заимствована у генеалогических деревьев.

    Так, узел, расположенный непосредственно над данным узлом, называется родительским по отношению к данному узлу. Узлы, расположенные на один уровень ниже данного узла, называются дочерними по отношению к данному узлу. Узлы, находящиеся на одном уровне и имеющие одного и того же родителя, называются сестринскими или братьями. Узлы, расположенные на любое число уровней ниже данного узла, называются его потомками. Родительские, прародительские и любые другие узлы, расположенные на любое число уровней выше данного узла, называются его предками.

    Справочник по DOM содержит описание объектов Document, Element, Event и NodeList, включая описание их методов и свойств:

    Справочник BOM

    BOM (Browser Object Model в переводе с анг. - Объектная Модель Браузера) обеспечивает доступ к окну браузера и позволяет манипулировать им и его элементами.

    BOM-объекты обеспечивают доступ к функционалу браузера независимо от контента веб-страницы. Тема BOM интересна и одновременно сложна, потому что из-за длительного отсутствия спецификации производители браузеров свободно расширяли BOM по своему усмотрению. Многие элементы, схожие в разных браузерах, стали стандартами де-факто, которые соблюдаются и по сей день из соображений взаимной совместимости. Чтобы стандартизировать эти фундаментальные аспекты JavaScript, консорциум W3C определил основные BOM-элементы в спецификации HTML5.

    Справочник содержит описание всех свойств и методов каждого из объектов:

    Отправить ответ

    avatar
      Подписаться  
    Уведомление о