function Person(name) {
this.name = name;
return this;
}
var someone = new Person('someone');
console.log(someone.name);
var someoneelse = Person('someoneelse');
console.log(someoneelse.name);
Es ist ein gutes Muster, um Konstruktorfunktionen (Klassen) zu implementieren. Dies funktioniert sowohl mit neuen als auch ohne neue.Javascript - Klassen
[Update:] Ich denke, ich habe die Antwort, die ich suchte. Dies ohne "neu" zu verwenden, würde ein globales Objekt und eine sehr schlechte Idee zurückgeben (Dank des Kommentars von Vohuman "von Ohne das Verwenden von neu, dies im Konstruktor ist das globale Objekt keine Instanz des Konstruktors")
[ mehr Update:] tun es der richtige Weg dafür zu sorgen, neuer und ohne neue,
function Person(name) {
if (this instanceof Person) {
this.name = name;
}
else {
return new Person(name);
}
};
Sie könnte immer nur ES6-Klassen mit Babel oder TypeScript verwenden. – Marty
check here http://stackoverflow.com/questions/1646698/what-is-the-new-keyword-in-javascript – Deep
Ohne Verwendung von 'new',' this' im Konstruktor ist das globale Objekt keine Instanz der Konstrukteur. – undefined