Kropff
19-08-2010, 21:20
Ich stehe gerade vor einem großen Verständnisproblem. Dazu folgender Code:
function bla ()
{
this.publ = "öffentlich";
this.publicMethod = function ()
{
privateMethode();
}
function privateMethode ()
{
alert(this.publ);
}
}
var obj = new bla();
obj.publicMethod();
Der alert gibt hier ein undefined aus. Das liegt daran, dass this in diesem Fall auf window verweist. Könnt ihr ganz einfach mit
alert(this);
sehen. Aber warum? Was ist der Sinn dahinter? In einer "öffentlichen" Methode kann ich auf die "öffentliche" Eigenschaft publ zugreifen:
this.publicMethod = function ()
{
alert(this.publ);
}
Waum ist das bei "privaten" Methoden nicht möglich. Statt dessen hänge ich auf einmal im window-Objekt herum.
Peter
function bla ()
{
this.publ = "öffentlich";
this.publicMethod = function ()
{
privateMethode();
}
function privateMethode ()
{
alert(this.publ);
}
}
var obj = new bla();
obj.publicMethod();
Der alert gibt hier ein undefined aus. Das liegt daran, dass this in diesem Fall auf window verweist. Könnt ihr ganz einfach mit
alert(this);
sehen. Aber warum? Was ist der Sinn dahinter? In einer "öffentlichen" Methode kann ich auf die "öffentliche" Eigenschaft publ zugreifen:
this.publicMethod = function ()
{
alert(this.publ);
}
Waum ist das bei "privaten" Methoden nicht möglich. Statt dessen hänge ich auf einmal im window-Objekt herum.
Peter

