Wenn ich benutzerdefinierte Objekte durch Funktionen wie folgt zu erstellen:Erstellen von Objekten durch Funktionen - Speichernutzung
function createCustomObject (state) {
let obj = { state };
obj.doSomething = function () {
// do something
};
return obj;
}
let myNewObject = createCustomObject({ foo: 'bar' });
myNewObject.doSomething();
Wie das Gedächtnis weise nicht klappt? Enthält JavaScript für jedes der von mir erstellten Objekte eine separate Kopie der Methode doSomething
? Wenn ich Tausende von Objekten erstellen muss, werden Prototypen/Komposition effizienter sein?
kurze Antwort ist Ja & Ja – charlietfl
Es kann einfacher sein, aus einem anderen Blickwinkel zu sehen: http://stackoverflow.com/a/41416177/1636522. – leaf