MDN wants to learn about developers like you: https://qsurvey.mozilla.com/s3/MDN-dev-survey

Diese Übersetzung ist in Arbeit.

This feature is deprecated in favor of defining getters using the object initializer syntax or the Object.defineProperty() API. While this feature is widely implemented, it is only described in the ECMAScript specification because of legacy usage. This method should not be used since better alternatives exist.

Die __defineGetter__ Methode bindet eine Eigenschaft des Objects an eine Funktion, die aufgerufen wird, wenn das Object angesehen wird.

Syntax

obj.__defineGetter__(prop, func)

Parameters

prop
Ein String der den Namen der zur Funktion gebundenen Eigenschaft enthält
func
Eine Funktion die zur Eigenschaft gebunden wird.

Return value

undefined.

Description

Die __defineGetter__ erlaubt einen getter auf ein Object zu erstellen.

Examples

// Nicht standard und veraltete Weise

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


// Üblicher Weg

// Mithilfe der get Methode
var o = { get gimmeFive() { return 5; } };
console.log(o.gimmeFive); // 5

// Mithilfe von Object.defineProperty
var o = {};
Object.defineProperty(o, 'gimmeFive', {
  get: function() {
    return 5;
  }
});
console.log(o.gimmeFive); // 5

Specifications

Specification Status Comment
ECMAScript Latest Draft (ECMA-262)
Die Definition von 'Object.prototype.__defineGetter__()' in dieser Spezifikation.
Lebender Standard Included in the (normative) annex for additional ECMAScript legacy features for Web browsers (note that the specification codifies what is already in implementations).

Browser compatibility

Feature Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari
Basic support (Ja) (Ja) (Ja) 11 (Ja) (Ja)
Feature Android Chrome for Android Edge Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support (Ja) (Ja) (Ja) (Ja) ? (Ja) (Ja)

Compatibility notes

  • Starting with Firefox 48 (Firefox 48 / Thunderbird 48 / SeaMonkey 2.45), this method can no longer be called at the global scope without any object. A TypeError will be thrown otherwise. Previously, the global object was used in these cases automatically, but this is no longer the case (Bug 1253016).

See also

Schlagwörter des Dokuments und Mitwirkende

 Mitwirkende an dieser Seite: Christian2507
 Zuletzt aktualisiert von: Christian2507,