Wie funktioniert JavaScript .prototype?

Bin ich nicht, dass in dynamischen Programmiersprachen, aber ich habe geschrieben meinen Gerechten Anteil von JavaScript-code. Ich habe nie wirklich meinen Kopf um diese Prototyp-basierte Programmierung, hat jemand wissen, wie das funktioniert?

var obj = new Object(); //not a functional object
obj.prototype.test = function() { alert('Hello?'); }; //this is wrong!

function MyObject() {} //a first class functional object
MyObject.prototype.test = function() { alert('OK'); } //OK

Ich erinnere mich an eine Menge Diskussion, die ich mit den Leuten hatte, eine Weile zurück (ich bin mir nicht ganz sicher bin, was ich Tue), aber wie ich es verstehe, gibt es kein Konzept einer Klasse. Es ist nur ein Objekt, und Instanzen dieser Objekte sind Klone der ursprünglichen, richtigen?

Aber was ist der genaue Zweck dieser .prototype - Eigenschaft in JavaScript? In welcher Beziehung steht es zu instanziieren Objekte?


Bearbeiten

Diese Folien wirklich geholfen, eine Menge, um dieses Thema zu verstehen.

InformationsquelleAutor der Frage John Leidegren | 2009-02-21

Schreibe einen Kommentar