Hi
Object.prototype.begetObject = function () {
function F() {}
F.prototype = this;
return new F();
};hash={a:1,b:2};
var out="";
for (i in hash) out+=i+':'+hash[i]+'\n';
alert(out)
>
> Also Finger weg von Object.prototype!!!
>
> Lieber ein eigenes Wurzelobjekt definieren von dem alle "Spezialobjekte" abgeleitet werden.
ich habe ihn gerade angeschrieben dass er lieber Function.prototype.begetObject schreiben solle, um diese Probleme zu umgehen.
In JSLint propagiert er übrigens, dass man for (in) immer mit Vorsicht und im Zweifelsfalle mit hasOwnProperty nutzen solle, um solchen Problemen auszuweichen:
~~~javascript
for (name in object) if (object.hasOwnProperty(name)) {
....
}
http://www.jslint.com/lint.html
aber mit Function hat er dieses Problem hier zumindest nicht mehr!
Möge die Engine mit euch sein!
LanX