Kod
<script>
function func(){
this.a=1
this.s=function(){alert(this.a)}
}
x=new func()
x.s()
</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>
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>
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

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....