Ver Mensaje Individual
  #5 (permalink)  
Antiguo 08/08/2007, 19:40
Avatar de derkenuke
derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 21 años, 4 meses
Puntos: 45
Re: setTimeout en objeto




Muy buena respuesta MaBoRaK, llevaba pero que mucho tiempo con este problema, y no sabía cómo resolverlo de manera elegante (mira si me había complicado en mi desesperación...).


Así que se trata de la tontería de var oThis=this; y de los closures...
Me he fijado que el setTimeout no se puede escribir de otra manera... Si escribimos en String "oThis.BB()" no funcionará, y si la función de dentro del setTimeout la sacamos fuera (con un nombre) tampoco funcionara. Es que, como ves, no entiendo muy bien el ámbito de la variable oThis. Está disponible para todo el método BB(), ¿y cómo es que está disponible después en cualquier momento para el setTimeout()? Si es de ámbito global, ¿por qué entonces si añadimos una nueva instancia de AA() no se sobreescribe? Es como si el closure fuera un paréntesis cerrado en sí mismo que funciona él solito y para él solito



Por cierto, buenísimos los links, los he repasado de pé a pá. Lo único que hay que tener cuidado es que en http://developer.mozilla.org mucho contenido es para javascript 1.5 (incluso 1.7), y lo evito leer, para no frustrarme demasiado. Pero esa parte de los objetos no la había leído.


Un saludo y gracias.
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.