Heutzutage verwenden viele Menschen JS -Objekte, um Code nach dem Erlernen von JSP zu implementieren, aber in JavaScript sind JS -Objekte eine dynamische Sprache. Viele Freunde, die gerade erst anfangen, werden neugierig auf die objektorientierten Schreibmethoden von JavaScript sind? Was ist der Unterschied? Lassen Sie mich nun die von JavaScript-objektorientierten Schreibmethoden und -unterschiede erklären.
In JS gibt es im Allgemeinen zwei Möglichkeiten, OOP zu implementieren:
Das erste: Verwenden Sie dieses Schlüsselwort
Funktion class1 ()
{
this.onclick = function (e)
{
für (var i = 0; i <1000; i ++)
{
var a = new Date ();
}
}
}
Verwenden. Die Methode kann Objekte flexibel zu Eigenschaften und Methoden hinzufügen, und sie ähnelt den meisten OOP -Sprachen und kann sogar während des Betriebs hinzugefügt werden.
Der zweite Typ: Verwenden Sie Prototyp -Schlüsselwörter
Funktion ClickFunc (e)
{
für (var i = 0; i <1000; i ++)
{
var a = new Date ();
}
}
Funktion class2 ()
{
}
Class2.Prototype.onclick = clickFunc;
In Bezug auf die Nutzung gibt es keine erste, die flexibel erscheint. Bevor ein Objekt jedoch neu ist, können Sie jederzeit auch die Eigenschaften und Methoden eines Objekts hinzufügen.
Aber sie sind nicht gleich. Relativ gesehen bevorzuge ich die erste, da die erste Methode relativ konzentriert ist und den Code leichter zu lesen ist. Beim Laufen variiert ihre Betriebseffizienz jedoch stark. Schauen wir uns den folgenden Testcode an:
var total = new Array ();
Funktion test1 ()
{
var a = new Date ();
für (var i = 0; i <10000; i ++)
{
var c = neuer class1 ();
//total.push(c);
}
var b = neues Datum ();
Alert (b.GetTime ()-a.getTime ());
}
Funktion test2 ()
{
var a = new Date ();
für (var i = 0; i <10000; i ++)
{
var c = neue class2 ();
//total.push(c);
}
var b = neues Datum ();
Alert (b.GetTime ()-a.getTime ());
}
Der erste Schritt besteht darin, die Ausführungszeit zu testen: Es wird festgestellt, dass Test1 () 142 ms dauert, während Test2 () nur 50 ms dauert. In Bezug auf die Zeiteffizienz ist die Prototypmethode effizienter als diese.
Der zweite Schritt von JavaScript -Objekten besteht darin, die Speicherverwendung zu testen und die Kommentare zu Total.push (C) zu entfernen. insgesamt.push (c); so dass sie dem Array hinzugefügt werden, um zu verhindern, dass die nicht repräsentierten Objekte GC sind, wenn es viele Objekte gibt, wenn sie erstellt werden. Infolgedessen wurde festgestellt, dass die Lücke nicht sehr groß war. Die erste Methode nahm zwanzig oder dreißig Mem Speicher auf, während die zweite Methode nur mehr als einhundert km erforderte.
JavaScript -Objekt erstellen
Schlussfolgerungen verursachen:
Bei der Verarbeitung dieser beiden Codes ist der erste Typ JS Parser, der eine separate Methode für jedes Objekt erstellt, das den Speicheraufwand erhöht und die Laufzeit beim Erstellen von Methoden erhöht. Der zweite Typ ist, dass JS Parser wie die meisten OOP -Compiler die Datensegmente und Methodensegmente des Objekts separat speichert. Für die privaten Daten des Objekts werden eine Kopie pro Objekt und diese Methoden im Segment der öffentlichen Methode platziert, sodass die Laufzeit und der Speicheraufwand reduziert werden können.
Das obige ist der Editor von FO Xin, um die Unterschiede in den objektorientierten Schreibmethoden und Unterschieden von JavaScript zu erklären. Wenn Sie tiefer wissen möchten, können Sie zum FO Xin Technology Channel gehen, um zu verstehen.