1. Przypadek pierwszy. Tutaj dziala wszystko w zrozumialy dla mnie sposob. Wywolujac metode x.s mamy dostep do wlasnosci (o nazwie a) tego obiektu.
Kod
<script>

function func(){
  this.a=1
  this.s=function(){alert(this.a)}
}

x=new func()
x.s()

</script>


2. Przypadek drugi. Tutaj jest wszystko w miare analogicznie, jednak otrzymujemy komunika, ze this.s.readyState jest pusty lub nie jest obiektem.
Kod
<script>

function func(){
  this.s=new XMLHttpRequest()
  this.s.onreadystatechange=function(){alert(this.s.readyState)}
  this.s.open('POST','1.php',1)
}

x=new func()

</script>


3. Przypadek trzeci
Kod
<script>

function func(){
  this.a=1
  this.s=function(){setTimeout(function(){alert(this.a)},1000)}
}

x=new func()
x.s()

</script>


---

ad 2. Doszedlem to tego, ze poprawnie dziala w tym przypadku this.readyState - jednak do konca nie wiem czemu akurat tak...

ad.3. Tutaj nie mam zupelnie pojecia jak sie odwolac do this.a

Z typowej obiektowki przyznaje kuleje winksmiley.jpg
Moze mi ktos ogolnie wyjasnic na jakiej zasadzie dziala odwolanie do obiektu 'this' ?
Oraz czy da sie jakos inaczej Class'y definiowac ? ...tzn nie przez funkcje....