Bezkeroon: Speicherplatz von "Methoden" in JavaScript

Beitrag lesen

ich kanns doch nicht lassen.

Wenn die Prototypen ja nur EINMAL zur Übersetzungszeit angelegt werden, wieso geht dann folgendes:

function klasse()
    {
        klasse.prototype.func = function() { alert("Funktion 1"); } ;
    }

a = new klasse();
    a.func();
    neu = prompt("Neuen Prototyp eingeben", "");
    eval(neu);
    a.func();

beim Prompt gib jetzt einfach mal
    klasse.prototype.func = function() { alert("Funktion 2"); } ;
ein

Es geht also sehr wohl zur Laufzeit - also wird auch, wie ich geschrieben hab 2x eine Funktion angelegt, wenn ein Prototyp im Kontruktor vorhanden ist und diese Klasse 2x instanziiert wird.

Du behauptest ja mittlerweile schon, dass

function klasse()
    {
        klasse.prototype.func = function() { alert("Funktion 1"); } ;
    }

technisch das gleiche sei wie

function klasse()
    {}
    klasse.prototype.func = function() { alert("Funktion 1"); } ;

oder täusche ich mich?

Grüße

Bezkeroon