molily: isObjectEmpty()

Beitrag lesen

var myObject = {};

[...] Code der myObject befüllt oder auch nicht

if (!isObjectEmpty(myObject)) {
    doSomething();
} else {
    for (var key in myObject) {
        if (myObject.hasOwProperty(key)) {
            doCoolThingsWith(myOb);
        }
    }
}


>   
> Wie müsste ich isObjectEmpty() schreiben?  
  
Am besten gar nicht. Wenn es darum geht, zu prüfen, ob das Objekt schon einen bestimmten Initialisierungsprozess durchlaufen hat, wo gewisse Eigenschaften angelegt wurden, dann gibt dem Objekt einen Flag und prüfe, ob der gesetzt ist.  
  
Ansonsten kannst du nur auf eine Weise erfahren, ob ein Objekt leer ist: Durchlaufe die Member auf die obige Weise. Wenn der Code in der for-in-Schleife ausgeführt wird, dann hat es Member, ansonsten nicht.  
  
var leer = true;  
for (var key in myObject) {  
   if (myObject.hasOwProperty(key)) {  
      leer = false;  
   }  
}  
delete key;  
  
Das würde ich aber nur im Notfall tun.  
  
Mathias

-- 
[JavaScript-Erweiterung für das SELFHTML-Forum](http://forum.de.selfhtml.org/js/doku/)