Heim >Web-Frontend >js-Tutorial >Detaillierte Erläuterung von Codebeispielen zum Unterschied zwischen der Verwendung von Javascript und der Nichtverwendung von Prototypen
Methoden, die keinen Prototyp verwenden, sind äquivalent zu statischen Methoden der Klasse. Im Gegensatz dazu sind Methoden, die Prototypen verwenden, äquivalent zu Instanzmethoden der Klasse. Sie können nicht verwendet werden, bis neue zulässig sind
Was ist der Unterschied zwischen den beiden Methoden? Was bedeutet es, Prototypen zu verwenden oder nicht?function ListCommon2(first,second,third) { this.First=function () { alert("first do"+first); } } ListCommon2.do1=function(first) { // this.First(); alert("first do"+first); } ListCommon2.prototype.do2=function(first) { // this.First(); alert("first do"+first); }
Testcode:
var t1=new ListCommon2("烧水1","泡茶1","喝1"); // t1.do1();//调用出错 ListCommon2.do1("烧水1"); var t2=new ListCommon2("烧水2","泡茶2","喝2"); t2.do2("烧水2");// // ListCommon2.do2("烧水1");//调用出错Nach dem Testen wurde festgestellt, dass die Methode ohne Prototyp der statischen Methode der Klasse entspricht und daher wie folgt aufgerufen werden kann: ListCommon2.do1("Wasser kochen 1");, wenn es auf diese Weise aufgerufen wird, tritt ein Fehler auf, t1.do1();
Im Gegenteil, die Methode, die den Prototyp verwendet, entspricht der Instanzmethode von Die Klasse, die nur nach new verwendet werden kann, ist nicht zulässig, ListCommon2.do2("Wasser kochen 1 "); Dies führt zu einem Fehler
Schlussfolgerung: Die mit dem Prototyp definierte Methode entspricht der Instanzmethode von Die Klasse muss neu sein, bevor sie verwendet werden kann. Die Einschränkungen für die Funktionen, die in der Funktion aufgerufen werden können, ähneln auch den Einschränkungen für die Instanzmethoden der Klasse Die Verwendung von Prototypdefinitionen entspricht den statischen Methoden der Klasse. Sie können direkt ohne neue verwendet werden. Die Einschränkungen für die Funktionen, die in der Funktion aufgerufen werden können, ähneln auch den Einschränkungen für die statischen Methoden der Klasse
Zum Beispiel kann this.First();
nicht aufgerufen werden
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung von Codebeispielen zum Unterschied zwischen der Verwendung von Javascript und der Nichtverwendung von Prototypen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!