Heim  >  Artikel  >  Web-Frontend  >  Detaillierte Erläuterung von Codebeispielen zum Unterschied zwischen der Verwendung von Javascript und der Nichtverwendung von Prototypen

Detaillierte Erläuterung von Codebeispielen zum Unterschied zwischen der Verwendung von Javascript und der Nichtverwendung von Prototypen

伊谢尔伦
伊谢尔伦Original
2017-07-27 13:34:191223Durchsuche

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn