Справочник по JScript : Методы JScript : Метод getOwnPropertyDescriptor

смотрим также

Материал из Справочник Web-языков

Перейти к: навигация, поиск


Содержание

Метод getOwnPropertyDescriptor

Возвращает описание свойства объектной модели документа (DOM).

Синтаксис

Object.getOwnPropertyDescriptor(object, propertyname)

Аргументы

object
Обязательный аргумент. Существующий объект DOM, содержащий нужное свойство.
propertyname
Обязательный аргумент. Строковое значение, содержащее название свойства.

Описание

Метод getOwnPropertyDescriptor возвращается объект JScript, содержащий дескриптор, который описывает свойство объекта DOM.

Вы можете использовать метод getOwnPropertyDescriptor, чтобы получить описание нужного свойства. Атрибуты дескриптора объекта показывают, является ли свойство свойством доступа или свойством данных.

Свойство доступа вызывает написанную программистом функцию каждый раз, когда для свойства устанавливается или возвращает значение. Для свойства доступа дескриптор имеет атрибуты get (получить), set (установить) или оба. В дескрипторе перечисляемый атрибут может иметь значение false или вообще быть не заданным; а конфигурируемое свойство может иметь значение true или также быть не заданным. Эти атрибуты резервируются для дальнейшего использования.

Свойство данных записывает и возвращает значение. Объект дескриптора для свойства данных содержит атрибут значение, атрибут записи или оба. В дескрипторе свойства данных атрибут записи, перечисляемый атрибут и конфигурируемое свойство могут иметь значение true или быть не заданными.

Пример

Следующих примерах показывается как применяется метод getHours.

function AddAccessorProperty()
    {
    var obj = window.document;

    // Создаем дескриптор для нового свойства доступа.
    var descriptor =
        {
        set: function (x)
            {
            println("in property set accessor");
            this.newaccpropvalue = x;
            },
        get: function ()
            {
            println("in property get accessor");
            return this.newaccpropvalue;
            },
        enumerable: false,
        configurable: true
        };

    // Показываем свойства дескриптора
    ShowProperties (descriptor, "accessor descriptor");

    // Добавляем новое свойство данных в объект window.document
    Object.defineProperty (obj, "NewAccessorProperty", descriptor);

    // Задаем значение свойства
    println ("Setting and getting accessor property value");

    obj.NewAccessorProperty = 42;
    println ("Property value: " + obj.NewAccessorProperty);
    println ("");

    // Получаем дескриптор из свойства объекта
    var descfromprop = Object.getOwnPropertyDescriptor(obj, "NewAccessorProperty");

    // Показываем свойства дескриптора
    ShowProperties (descfromprop, "descfromprop accessor descriptor");
    }

function ShowProperties(objwithproperties, description)
    {
    println ("properties in " + description + "");
    for (var prop in objwithproperties)
        {
        println(prop + ': ' + objwithproperties[prop]);
        }
    println ("");
    }

function println(s)
    {
    document.write(s + '
'); }

Второй пример:

function AddDataProperty()
    {
    var obj = window.document;

    //  Создаем дескриптор для нового свойства данных.
    var descriptor =
    {
      value: 101,
      writable: true,
      enumerable: true,
      configurable: true
    };
 
    // Показываем свойства дескриптора
    ShowProperties (descriptor, "descriptor");

    // Добавляем новое свойство данных в объект window.document
    Object.defineProperty (obj, "NewDataProperty", descriptor);

    // Показываем свойства объекта window.document,
    // которые теперь добавлены в NewDataProperty.
    ShowProperties (obj, "window.document object");

    // Показываем значение свойства
    // Output: 101
    println ("Initial value: " + obj.NewDataProperty);

    // Изменяем и показываем значение свойства
    // Доступно, если значение атрибута записи дескриптора установлено в true.
    obj.NewDataProperty = 45;
    println ("Modified value: " + obj.NewDataProperty);
    println ("");

    // Получим дескриптор из свойства объекта
    var descfromprop = Object.getOwnPropertyDescriptor(obj, "NewDataProperty");

    // Покажем свойства дескриптора
    ShowProperties (descfromprop, "descfromprop descriptor");
    }

Поддержка

JScript Version 5.8

Ссылки на источники

http://msdn.microsoft.com/en-us/library/dd548686(v=VS.85).aspx

Добавить страницу в закладки:
РАЗРЕШАЕТСЯ перепечатывать и копировать информацию ТОЛЬКО ПРИ РАЗМЕЩЕНИИ ссылки на оригинал!
(<A href="http://www.spravkaweb.ru/">Справочник Web-языков</A>)
другие проекты
Rambler\'s Top100 Индекс цитирования