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");//调用出错
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!