POO (ámbito)
Publicado por Pablito (1 intervención) el 11/07/2012 13:28:03
Hola...
Tengo la clase:
function living(){
this.obj=eval("document.getElementById('"+living.arguments[0]+"')");
this.num=12;
this.obj.onclick=fncOnClick;
function fncOnClick(){
alert(num);
}
}
Creo el objeto llamando a esta clase:
p1=new living('person1'); // Hay una capa en la página cuyo id es "person1"
Lo que intento es que al pinchar en la capa me salga el alert(num), pero no me sale.
He probado a poner alert(this.num) pero me sale 'undefined'.
Sin embargo si pongo:
function living(){
this.obj=eval("document.getElementById('"+living.arguments[0]+"')");
living.num=12;
this.obj.onclick=fncOnClick;
function fncOnClick(){
alert(living.num);
}
}
Así sí me aparece el alert sacando el 12.
- ¿Porqué poniendo "living" sí me saca el 12 y si pongo "this" no?...
- ¿A qué se refiere "living" y a qué se refiere "this"?...pensaba que poner una u otra cosa eran lo mismo...¿cuál es la diferencia?
Gracias!!!!
Tengo la clase:
function living(){
this.obj=eval("document.getElementById('"+living.arguments[0]+"')");
this.num=12;
this.obj.onclick=fncOnClick;
function fncOnClick(){
alert(num);
}
}
Creo el objeto llamando a esta clase:
p1=new living('person1'); // Hay una capa en la página cuyo id es "person1"
Lo que intento es que al pinchar en la capa me salga el alert(num), pero no me sale.
He probado a poner alert(this.num) pero me sale 'undefined'.
Sin embargo si pongo:
function living(){
this.obj=eval("document.getElementById('"+living.arguments[0]+"')");
living.num=12;
this.obj.onclick=fncOnClick;
function fncOnClick(){
alert(living.num);
}
}
Así sí me aparece el alert sacando el 12.
- ¿Porqué poniendo "living" sí me saca el 12 y si pongo "this" no?...
- ¿A qué se refiere "living" y a qué se refiere "this"?...pensaba que poner una u otra cosa eran lo mismo...¿cuál es la diferencia?
Gracias!!!!
Valora esta pregunta


0