Ihre Suchergebnisse

    propertyIsEnumerable

    Zusammenfassung

    Gibt boolesch zurück, ob die bestimmte Eigenschaft aufzählbar ist.

    Methode von Object
    Implementiert in JavaScript ?
    ECMAScript Edition ECMAScript 3rd Edition

    Syntax

    obj.propertyIsEnumerable(eigenschaft)

    Parameter

    eigenschaft
    Der Name der Eigenschaft, die getestet werden soll.

    Beschreibung

    Jedes Objekt hat eine propertyIsEnumerable-Methode. Diese Methode kann herausfinden, ob die bestimmte Eigenschaft in einer for...in-Schleife aufgelistet werden kann, solange sie eine direkte Eigenschaft ist (Ohne sie von einer Klasse vererbt zu haben). Wenn das Objekt die Eigenschaft nicht hat, wird false zurückgegeben.

    Anmerkung: Seit JavaScript 1.8.1 (in Firefox 3.6) wird bei propertyIsEnumerable("prototype") false statt true zurückgegeben; das sorgt für Kompatibilität mit ECMAScript 5.

    Beispiele

    Beispiel: Eine einfache Verwendung von propertyIsEnumerable

    Das folgende Beispiel zeigt die Verwendung von propertyIsEnumerable bei Objekten und Arrays:

    var o = {};
    var a = [];
    o.prop = 'ist aufzählbar';
    a[0] = 'ist aufzählbar';
    
    o.propertyIsEnumerable('prop');   // gibt true zurück
    a.propertyIsEnumerable(0);        // gibt true zurück
    

    Beispiel: Vergleich von selbsterstellten und vorgegebenen Objekten

    Das folgende Beispiel demonstriert die Aufzählbarkeit von selbsterstellten und von vordefinierten Objekten:

    var a = ['ist aufzählbar'];
    
    a.propertyIsEnumerable(0);          // gibt true zurück
    a.propertyIsEnumerable('length');   // gibt false zurück
    
    Math.propertyIsEnumerable('random');   // gibt false zurück
    this.propertyIsEnumerable('Math');     // gibt false zurück
    

    Beispiel: Direkte und vererbte Eigenschaften

    var a = [];
    a.propertyIsEnumerable('constructor');       // gibt false zurück
    
    function ersterConstructor() {
      this.eigenschaft = 'ist nicht aufzählbar';
    }
    
    ersterConstructor.prototype.ersteMethode = function () {};
    
    function zweiterConstructor() {
      this.methode = function methode() { return 'ist aufzählbar'; };
    }
    
    zweiterConstructor.prototype = new ersterConstructor;
    zweiterConstructor.prototype.constructor = zweiterConstructor;
    
    var o = new zweiterConstructor();
    o.eineEigenschaft = 'ist aufzählbar';
    
    o.propertyIsEnumerable('eineEigenschaft');   // gibt true zurück
    o.propertyIsEnumerable('methode');           // gibt true zurück
    o.propertyIsEnumerable('eigenschaft');       // gibt false zurück
    
    o.eigenschaft = 'ist aufzählbar';
    
    o.propertyIsEnumerable('eigenschaft');       // gibt true zurück
    
    // Diese Eigenschaften werden nicht beachtet, sondern
    // geben bei propertyIsEnumerable immer false zurück:
    // (Obwohl die beiden letzteren in for...in-Schleifen beachtet werden)
    
    o.propertyIsEnumerable('prototype');         // gibt false zurück (wie bei JS 1.8.1/FF3.6)
    o.propertyIsEnumerable('constructor');       // gibt false zurück
    o.propertyIsEnumerable('firstMethod');       // gibt false zurück

    Siehe auch...

    Schlagwörter des Dokuments und Mitwirkende

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