ich einige Code haben:Wie die Eigenschaften eines Prototyps des Objekts iterieren
var obj = function() { }; // functional object
obj.foo = 'foo';
obj.prototype.bar = 'bar';
for (var prop in obj) {
console.log(prop);
}
Was mich überrascht, ist, dass alles, was protokolliert wird foo
ist. Ich erwartete, dass die for-Schleife auch über die Eigenschaften des Prototyps obj
iteriert (nämlich bar
), weil ich nicht auf hasOwnProperty
überprüft habe. Was fehlt mir hier? Und gibt es eine idiomatische Möglichkeit, alle Eigenschaften des Prototyps zu iterieren?
Ich habe dies in Chrome und IE10 getestet.
Vielen Dank im Voraus.
Wenn Sie Eigenschaften an den Prototyp anhängen, werden die Eigenschaften für die Instanzen dieses Objekts und nicht für das Objekt selbst verfügbar. –