Joachim: notation

Beitrag lesen

Hi,

P.S:nebenbei - kann man innerhalb eines object die methoden aufrufen ohne den namen des objects immer davor schrieben zu müssen also tu() statt ich.tu()?

nein, Objektmethoden kannst Du nur im Kontext des Objectes aufrufen, siehe:
    var x = {
        foo: 1,
        y: function(){
            alert (this.foo);
        }
    }

x.y(); // geht
    y();   // functin ist undefined

anders sieht es mit diesem Klassen-Konstruktor und "öffentlichen" Methoden aus:

function foo() {
        this.lala   = 1;
        this.bar    =  bar;
    }
    function bar() {
        alert(this.lala)
    }

var batz =  new foo();
    batz.bar();  // geht
    bar();       // funktion wird ausgeführt, Klassenvariablen sind aber nicht bekannt, da die function nicht im Scope des Objectes aufgerufen wird. Dieses Konstrukt ist daher nicht empfehlenswert.

notierst Du die Methoden als Prototype:
    foo.prototype.foobar =  function() {
        alert(this.lala)
    }

var batz =  new foo();
    batz.foobar(); // geht
    foobar();      // funktion ist undefined

Gruesse, Joachim

--
Am Ende wird alles gut.