Bestimmen der Größe eines JavaScript-Objekts
Einführung
Schätzen der Speichernutzung eines JavaScript-Objekte können eine anspruchsvolle Aufgabe sein. In diesem Artikel untersuchen wir eine umfassende Methode zur Bestimmung der ungefähren Größe eines Objekts in JavaScript, inspiriert von einer aktuellen Anfrage zur Ermittlung der Größe eines JavaScript-Objekts.
Lösung des Problems
Betrachten Sie den folgenden JavaScript-Code, der zwei Funktionen, Marks und Student, definiert und einen neuen Student instanziiert Objekt:
function Marks() { this.maxMarks = 100; } function Student() { this.firstName = "firstName"; this.lastName = "lastName"; this.marks = new Marks(); } var stud = new Student();
Objektgröße schätzen
JavaScript verfügt nicht über eine integrierte Funktion ähnlich dem sizeof()-Operator in C. Wir können jedoch eine benutzerdefinierte Funktion entwickeln, um die Größe des Stud-Objekts abzuschätzen:
function roughSizeOfObject(object) { const objectList = []; const stack = [object]; let bytes = 0; while (stack.length) { const value = stack.pop(); switch (typeof value) { case 'boolean': bytes += 4; break; case 'string': bytes += value.length * 2; break; case 'number': bytes += 8; break; case 'object': if (!objectList.includes(value)) { objectList.push(value); for (const prop in value) { if (value.hasOwnProperty(prop)) { stack.push(value[prop]); } } } break; } } return bytes; }
Diese Funktion durchläuft das Objekt rekursiv und berücksichtigt dabei die Größe der Grundwerte (4 Bytes für boolesche Werte, 8 Bytes für Anzahl) und die Länge der Zeichenfolgen in Bytes (Multiplikation mit 2). Außerdem wird eine Objektliste verwaltet, um eine unendliche Rekursion zu verhindern.
Fazit
Mit dieser Funktion können Sie die Größe eines beliebigen JavaScript-Objekts, einschließlich Arrays und benutzerdefinierter Objekte, annähern . Diese Methode kann zur Optimierung der Speichernutzung nützlich sein, insbesondere in leistungskritischen Anwendungen. Obwohl es eher eine Schätzung als einen genauen Wert liefert, bietet es einen wertvollen Einblick in den Speicherbedarf von Objekten in JavaScript.
Das obige ist der detaillierte Inhalt vonWie kann ich die ungefähre Größe eines JavaScript-Objekts im Speicher ermitteln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!