hmm ja da habe ich "aufrufen" mit "instanzieren" rein namentlich verwechselt. :) Das kam weil ich die Bedeutung des Call-Operators mit der call()-methode verwechselt hatte, welche ja ein neues objekt "konstruiert",
Die call Mehode konstruiert nichts, sie ruft nur eine Funktion im Kontext auf.
angenommen ich arbeite mit call, und ich überschreibe eine Funktion der "Klasse" die ich über call konstruiere, wie kann ich dann noch auf sie zugreifen? zb:
function SuperCat() {
this.sound = "miaow";
}function SubCat() {
SuperCat.call(this);
Hier wird nichts konstruiert, du rufst SuperCat im Kontext von this auf, d.h. die Eigenschaft Sound wird einfach hinzugefügt.
Deutlicher wird das wenn du eine SuperCat Prototpye Funktion gibst, diese ist in SubCat nicht bekannt.
wie rufe ich den member "sound" von der mit call erzeugten instanz der "Klasse" SuperCat auf? Ich meine wie referenziere ich diesen? geht das überhaupt?
Nein, das geht nicht. Mal abgesehen von dem was du sowieso falsch machst, in JS werden überladene Funktion einfach überschrieben.
Mit Mozillabrowser hast du über _proto_ Zugriff auf das Orginal - im IE weiß ich nicht.
Struppi.