Struppi: Weblog-Artikel: Der sinnvolle Einsatz von JavaScript

Beitrag lesen

Wenn es darum geht, warum abc undefined ist, da du kein this davor stehen hast, ist die Variabel jetzt im Geltungsbereich window also window.abc
Sie wird doch aber als lokale Variabel in der funktion obj1() definiert, irgendwie ist es manchmal so dass man auf sie zugreifen kann und manchmal nicht. Wann welcher Fall Auftritt konnte ich noch nicht nachvollziehen.

Oh, das hatte ich übersehen.

Also:
function obj1() {
     var abc = "123";
     this.bla = function() {
         alert(abc)
     }
};

obj.bla() ist hier eine privilegierte Funktion, die auf das private Attribut abc zugreifen kann. Warum das manchmal nicht der Fall ist kann ich dir nicht sagen, es sollte immer klappen.

.... Ich denke für viele ist SELFHTML die erste Anlaufstelle bei so etwas und dann wird es in der Dokumentation nicht einmal erwähnt. Vielleicht würde es ja auch schon ausreichen Christians Artikel etwas Einsteigerfreundlicher zu gestalten und dort auch die Verwendeten Begriffe erklären.

Vielleicht.
Aber wie gesagt dann muss man sich auch überlegen ob man Perl nicht intensiver bespricht. Das ganze ist ja letztlich nur ein Möglichkeit um mit JS anspruchsvoller zu programmieren, für 99% der Fälle reicht es aus zu Wissen das es Objekte gibt und wie man sie benutzt (falls man mal ein externes nutzen will). Zumal man ja für OOP auch eine gewisse "Ideologie" benötigt. Und da sind die entsprechenden Tuts für Java oder C++ wesentlich präziser. Ich würde niemand empfehlen JS als Einstieg für OOP zu nehmen (genauso wenig wie Perl).

Struppi.