Hallo,
nach so etwas habe ich zunächst auch gesucht mit einer for-in Schleife. Warum wird dort diese Eigenschaft:
a.constructor
nicht gelistet?
Weil das in ECMAScript, zum zuständigen Standard, so definiert ist (keine zufriedenstellende Antwort, ich weiß).
Die constructor-Eigenschaft hat den DontEnum-Flag (»The property is not to be enumerated by a for-in enumeration«).
http://bclary.com/log/2004/11/07/#a-13.2
http://bclary.com/log/2004/11/07/#a-8.6.1
Das ist im Allgemeinen ein Vorteil, denn die constructor-Eigenschaft will man nicht bekommen, wenn man z.B. alle Member eines (gezielt angelegten) Objektes auslesen will.
Mathias