Object.prototype.__defineGetter__()

by 2 contributors:

Не стандартно
Эта возможность не является стандартной и стандартизировать её пока никто не собирается. Не используйте её на сайтах, смотрящих во внешний мир: она будет работать не у всех пользователей. Также могут присутствовать большие несовместимости между реализациями и её поведение может в будущем измениться.

Устарело
Эта возможность была удалена из веб-стандартов. Хотя некоторые браузеры по-прежнему могут поддерживать её, она находится в процессе удаления. Не используйте её ни в старых, ни в новых проектах. Страницы или веб-приложения, использующие её, могут в любой момент сломаться.

Сводка

Метод __defineGetter__() привязывает свойство объекта к функции, вызываемой каждый раз при поиске этого свойства.

Синтаксис

obj.__defineGetter__(prop, func)

Параметры

prop
Строка, содержащая имя свойства, привязываемого к заданной функции.
func
Функция, привязываемая к поиску указанного свойства.

Описание

Метод __defineGetter__() позволяет определить геттер на уже существующем объекте.

Примеры

// Нестандартный и устаревший способ

var o = {};
o.__defineGetter__('gimmeFive', function() { return 5; });
console.log(o.gimmeFive); // 5


// Способы, совместимые со стандартом

// Использование оператора get
var o = { get gimmeFive() { return 5; } };
console.log(o.gimmeFive); // 5


// Использование Object.defineProperty()
var o = {};
Object.defineProperty(o, 'gimmeFive', {
  get: function() {
    return 5;
  }
});
console.log(o.gimmeFive); // 5

Спецификации

Не является частью какой-либо спецификации.

Совместимость с браузерами

Возможность Chrome Firefox (Gecko) Internet Explorer Opera Safari
Базовая поддержка (Да) (Да) 11 (Да) (Да)
Возможность Android Chrome для Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Базовая поддержка (Да) (Да) (Да) ? (Да) (Да)

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

Метки документа и участники

Contributors to this page: Mingun, OleksandrPapchenko
Обновлялась последний раз: Mingun,