function b(string) {
if(this.constructor != b){
return new b(string);
}
if (this.constructor != arguments.callee) {
throw new Error("Es macht wirklich keinen Sinn, einen Konstruktor ohne new aufzurufen und der es auch noch zulässt. Man sollte solche Mehrdeutigkeiten durch klare Fehlermeldungen vermeiden, anstatt zu sie durch Fehlertoleranz zu unterstützen.");
}
Mathias