Foros del Web » Programando para Internet » Javascript »

Crear objeto THIS

Estas en el tema de Crear objeto THIS en el foro de Javascript en Foros del Web. Hola de nuevo a todos, Al cargar mi web recorro un array con varios objetos seleccionados. El caso es que al recorrer los objetos ejecuto ...
  #1 (permalink)  
Antiguo 05/02/2011, 06:53
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años
Puntos: 19
Crear objeto THIS

Hola de nuevo a todos,

Al cargar mi web recorro un array con varios objetos seleccionados. El caso es que al recorrer los objetos ejecuto una funcion en la que me gustaria que el this de esta fuese el objeto que tengo en ese momento.

¿Como se crea el objeto this?... o solo puede ser con eventos... ?

Código Javascript:
Ver original
  1. for(var i in objetos)
  2.     {
  3.         function(){alert(this.className);}
  4.     }
  #2 (permalink)  
Antiguo 05/02/2011, 07:20
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Crear objeto THIS

this ni se crea ni se destruye. variable this y su scope. en el caso que te ocupa puede usar objetos[i]
  #3 (permalink)  
Antiguo 05/02/2011, 07:27
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: Crear objeto THIS

Te dejo una referencia a this, y para bindear debes utilizar call o apply, algo así:

Código Javascript:
Ver original
  1. for(var i in objetos)
  2. {
  3.     (function(){
  4.         alert(this.className);
  5.     }).call(objetos[i]);               
  6. }

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #4 (permalink)  
Antiguo 05/02/2011, 08:13
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Crear objeto THIS

pregunto. qué beneficios tiene usar el método call en lugar de una invocación con ()?
Cita:
for(var i in objetos) {
    (function(){alert(objetos[i].className);})()           
}
  #5 (permalink)  
Antiguo 05/02/2011, 08:32
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: Crear objeto THIS

No es un tema de beneficio, deberías leer de nuevo la pregunta de salbatore, esta preguntando como hacer que this dentro de la funcion haga referencia al objecto actual del for, por eso el call.
__________________
http://es.phptherightway.com/
thats us riders :)
  #6 (permalink)  
Antiguo 05/02/2011, 08:45
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años
Puntos: 19
Respuesta: Crear objeto THIS

Muchas gracias!... ademas he aprendido un monton con estas respuestas!.

IsaBelM... yo necesito usar el this para no tener que cambiar todo el codigo de mis funciones. Lo que hago es invocar a estas funciones haciendome pasar por el this y asi que la funcion funcione cuando haga uso de este objeto.

Que gusto!.
  #7 (permalink)  
Antiguo 05/02/2011, 09:14
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Crear objeto THIS

Cita:
Iniciado por masterpuppet Ver Mensaje
esta preguntando como hacer que this dentro de la funcion haga referencia al objecto actual del for, por eso el call.
por eso mismo. si son textbox
Cita:
(function(){alert(objetos[i]);})()* // objetos[i] = object HTMLInputElement
Cita:
(function(){
alert(this);
}).call(objetos[i]);* *// this = object HTMLInputElement
  #8 (permalink)  
Antiguo 05/02/2011, 09:57
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años
Puntos: 19
Respuesta: Crear objeto THIS

Hola IsaBelM...

No ves el beneficio?... en tu codigo me harias cambiar el this por objetos[i], lo que me haria cambiar todas mis funciones a mano.

Gracias de nuevo a los dos.
  #9 (permalink)  
Antiguo 05/02/2011, 10:19
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: Crear objeto THIS

salbatore se podria mejorar e implementar un bind como hacen las librerias(Mootools, Prototype, etc...), algo asi:

Código Javascript:
Ver original
  1. Function.prototype.bind = function(scope)
  2. {
  3.     var _function = this;  
  4.     return function() {
  5.         return _function.apply(scope, arguments);
  6.     }
  7. }
  8.  
  9. //ej 1
  10. var fn = function(){
  11.     alert(this);
  12. }.bind(objetos);
  13. fn();
  14.  
  15. //ej 2
  16. for(var i in objetos)
  17. {
  18.     (function(){
  19.         alert(this.className);
  20.     }.bind(objetos[i]))();
  21. }

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #10 (permalink)  
Antiguo 05/02/2011, 13:50
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años
Puntos: 19
Respuesta: Crear objeto THIS

Hola masterpuppet,

Estuve buscando info... y vi eso que comentas que lo hacen las librerias... la verdad es que nunca he usado una... asi que cuando dicen "libreria" "jquery"... salgo corriendo a toda leche.

Usare el codigo!... me ha servido de mucho tu ayuda.

Hasta pronto! :D
  #11 (permalink)  
Antiguo 05/02/2011, 13:58
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Crear objeto THIS

Cita:
Iniciado por salbatore Ver Mensaje
Hola IsaBelM...

No ves el beneficio?... en tu codigo me harias cambiar el this por objetos[i], lo que me haria cambiar todas mis funciones a mano.

Gracias de nuevo a los dos.
ok, no leí tu post anterior a este


Cita:
Iniciado por salbatore Ver Mensaje
Estuve buscando info... y vi eso que comentas que lo hacen las librerias... la verdad es que nunca he usado una... asi que cuando dicen "libreria" "jquery"... salgo corriendo a toda leche.
tu no eres el único
  #12 (permalink)  
Antiguo 05/02/2011, 20:02
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: Crear objeto THIS

Cita:
Iniciado por masterpuppet Ver Mensaje
Código Javascript:
Ver original
  1. Function.prototype.bind = function(scope)
  2. {
  3.     var _function = this;  
  4.     return function() {
  5.         return _function.apply(scope, arguments);
  6.     }
  7. }
  8.  
  9. //ej 1
  10. var fn = function(){
  11.     alert(this);
  12. }.bind(objetos);
  13. fn();
  14.  
  15. //ej 2
  16. for(var i in objetos)
  17. {
  18.     (function(){
  19.         alert(this.className);
  20.     }.bind(objetos[i]))();
  21. }
Eeeeeerm... ¿un poco de documentación por favor? XD
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #13 (permalink)  
Antiguo 05/02/2011, 20:34
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Crear objeto THIS

Cita:
Iniciado por _cronos2 Ver Mensaje
Eeeeeerm... ¿un poco de documentación por favor? XD
en realidad no es tan complicado. bind lo que hace es devolver una funcion donde enlaza otra funcion con un objeto en particular. no entiendo porque tanto rodeo cuando call y apply cumplen con esa expectativa. veamoslo parte por parte...

Código:
Function.prototype.bind = function(scope) {
...
}
bind es un metodo que se hereda en todas las funciones puesto que esta declarado en el prototipo de Function. el argumento scope es el objeto que se desea enlazar con otra funcion.
Código:
    var _function = this;
la variable _function retiene la referencia de la funcion a enlazar con el objeto. esta variable se crea para poder hacer un closure. recuerda que this siempre hace referencia a un objeto, al estar ubicado en el prototipo del objeto Function, this siempre obtiene como referencia la funcion desde el cual se invoca bind. es decir, en alert.bind(), this hace referencia a alert.

Código:
    return function() {
        return _function.apply(scope, arguments);
    }
una funcion anonima que se devuelve cuando se invoca bind. dentro de esa funcion anonima contiene lo siguiente.

Código:
        return _function.apply(scope, arguments);
aqui se utiliza la variable _function el cual es la referencia de this o lo mismo que la funcion a enlazar. en el ejemplo anterior, _function vendria siendo la funcion alert. entonces, desde dicha referencia se invoca el metodo apply pasando como argumento el objeto (scope) al cual se va aplicar la funcion mas posibles argumentos (arguments) cuando se invoca la funcion devuelta por bind.

en mi opinion, en muy pocos casos le veo utilidad y mas aun pudiera ser peligroso si el navegador no maneja bien el colector de basura (garbage collector) como es el caso de iexplorer. si yo tuviera que enlazar una funcion a un objeto, simplemente usaria directamente call o apply. usando el mismo ejemplo de @masterpuppet

Código:
// ejemplo con bind ;
var fn = function(){
    alert(this);
}.bind(objetos);
fn();

// ejemplo nativo ;
(function(){alert(this);}).call(objetos);
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Última edición por zerokilled; 05/02/2011 a las 20:39
  #14 (permalink)  
Antiguo 05/02/2011, 20:48
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 17 años, 6 meses
Puntos: 122
Respuesta: Crear objeto THIS

Código Javascript:
Ver original
  1. /*
  2.   Aqui estas extendiendo el prototipo del Objeto Function
  3.   y le estas agregando un método bind.
  4.   Se pueden lograr patrones muy eficientes con este modelo
  5.   pero no lo recomiendo a menos que sepas lo que haces.
  6. */
  7. Function.prototype.bind = function(scope)
  8. {
  9.     var _function = this;// aqui this hace referencia a la funcion en donde bind se ejecuta.
  10. //por ejemplo, en ej1 this hace referencia a
  11. //function(){
  12. //  alert(this);
  13. //}
  14.     return function() { //una vez que se llame a bind, se ejecuta el codigo y
  15. //la funcion original es reemplazada por esta funcion
  16. //Esta funcion simplemente toma la copia de la funcion original que guardo
  17. //hace algunas lineas y la llama con apply para poder cambiar el
  18. //contexto en el que se ejecuta, o como algunos dirian, para cambiar el
  19. //valor de this.
  20.         return _function.apply(scope, arguments);
  21.     }
  22. }
  23.  
  24. //Lo que sige son los ejemplos, no tienen mucho de especial ya que el
  25. //codigo ha sido explicado anteriormente
  26. //pero ejemplo 2 tiene otra cosa interesante.
  27. //ej 1
  28. var fn = function(){
  29.     alert(this);
  30. }.bind(objetos);
  31. fn();
  32.  
  33. //ej 2
  34. //En este ejemplo vemos que se usa una funcion anonima autoejecutable para
  35. //poder ejecutar el bind. Este tiene la particulariedad que una vez que la funcion
  36. //anonima regresa, muere y no deja huella en el ambito global. Lo mas probable
  37. //es que sea victima de garbage collector.
  38. for(var i in objetos)
  39. {
  40.     (function(){//esta es la funcion anonima auto-ejecutable.
  41.         alert(this.className);
  42.     }.bind(objetos[i]))();
  43. }
__________________
twitter: @imbuzu
  #15 (permalink)  
Antiguo 05/02/2011, 20:48
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 17 años, 6 meses
Puntos: 122
Respuesta: Crear objeto THIS

Ouch, con razón el dolor de cabeza. He chocado.
__________________
twitter: @imbuzu
  #16 (permalink)  
Antiguo 05/02/2011, 20:56
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Crear objeto THIS

no te preocupes, eso nos pasa a todos. y mas fuerte el dolor de cabeza cuando le pones tanto esfuerzo. de todos modos, siempre me gusta leer las interpretaciones de los demas. saludos hombre!
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #17 (permalink)  
Antiguo 05/02/2011, 21:01
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 17 años, 6 meses
Puntos: 122
Respuesta: Crear objeto THIS

Bueno, ahora que lo pienso, esto:

Código Javascript:
Ver original
  1. for(var i in objetos){
  2.         function(){alert(this.className);}
  3. }
Tiene muy poco sentido. Cual es la idea al recorrer una lista de objeto y crear una función anónima que no puede ser llamada? Es ese tu código real o solo querías representar tu problema, porque si es tu código real, entonces debe haber algo muy grave ahí.
__________________
twitter: @imbuzu
  #18 (permalink)  
Antiguo 05/02/2011, 21:02
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 17 años, 6 meses
Puntos: 122
Respuesta: Crear objeto THIS

Zerokilled, tambien me ha gusta leer las interpretaciones de los demas. Especialmente en estos temas, se puede aprender algo nuevo. :D
__________________
twitter: @imbuzu
  #19 (permalink)  
Antiguo 06/02/2011, 07:18
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: Crear objeto THIS

Muchas gracias a los dos, voy entendiendo un poco más esto XD
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #20 (permalink)  
Antiguo 06/02/2011, 09:46
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: Crear objeto THIS

Cita:
Iniciado por _cronos2 Ver Mensaje
Eeeeeerm... ¿un poco de documentación por favor? XD
Que tal _cronos2, deberías comprender el porque, la idea es poder aplicar el scope a una función en la definición de la misma y no en la ejecución(este es el caso de call & apply), se suele usar para cambiar el scope de los callbacks, un ejemplo seria tu funcion addEvent, sino recuerdo mal la signatura era:

Código Javascript:
Ver original
  1. addEvent(event, fn, element)

dentro de fn this siempre hace referencia a element, bueno con bind es algo simple cambiar el scope

Código Javascript:
Ver original
  1. var obj = {
  2.    name: 'Ninja'
  3.    action: function(){
  4.        console.log(this.name);
  5.    }
  6. }
  7. addEvent(event, function(){
  8.     this.action();
  9. }.bind(obj), element)

Lo que hay que tener en cuenta es el overhead, se ejecutan dos funciones en lugar de una.

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #21 (permalink)  
Antiguo 06/02/2011, 10:11
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: Crear objeto THIS

Ok muchas gracias, creo que ahora ya lo entendí del todo. Pero entonces, ¿qué es lo que hacen apply y call?
Gracias otra vez (:
PD: ¿Será que esto es complicado, o que yo soy muy torpe? XD
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #22 (permalink)  
Antiguo 06/02/2011, 10:15
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Crear objeto THIS

bind, apply y call hacen casi lo mismo, enlazar un objeto con una funcion. lo que los diferencia es que bind devuelve una funcion para mas tarde ser invocada. en cambio, call y apply enlaza y procesa la funcion en ese preciso momento.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #23 (permalink)  
Antiguo 06/02/2011, 14:33
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Crear objeto THIS

como se ha mencionado el modelo avanzado (addEvent) para registrar eventos, ya aprovecho para preguntar como evitar el problema de memoria que tiene ie cuando se registran x eventos ya que este los almacena

gracias

Última edición por IsaBelM; 07/02/2011 a las 15:02
  #24 (permalink)  
Antiguo 06/02/2011, 14:47
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 10 meses
Puntos: 834
Respuesta: Crear objeto THIS

Isabel, el problema de memoria al que hacés referencia ocurría en Explorer 6. No estoy seguro que ocurra en las versiones siguientes. No obstante, lo que se hace para evitarlo es agregar una función al evento onunload que desatache todos los eventos asignados.
Un ejemplo:
Código PHP:
var panino=(function(){
/* ---- métodos privados ---- */
    
var metodosPrivados={
        
addEvent: function(typefn ) {
            if ( 
this.addEventListener ) {
                
this.addEventListenertypefnfalse );
            } else if(
this.attachEvent){
                var 
_this=this;
                var 
f= function(){fn.call(_this,window.event);}
                
this.attachEvent'on'+typef);
                
this[fn.toString()+type]=f;
            }else{
                
this['on'+type]=fn;
            }
            var 
ev={_obj:this,_evType:type,_fn:fn};
            
window.EvRegister=window.EvRegister || [];
            
window.EvRegister.push(ev);
            return 
this;
        },
        
removeEvent: function(typefn ) {
            if( 
this.removeEventListener){
                
this.removeEventListenertypefnfalse );
            }
            else if(
this.detachEvent){
                
this.detachEvent('on'+type,this[fn.toString()+type]);
                
this[fn.toString()+type]=null;
            }
            else{
                  
this['on'+type]=function(){};
            }
            for (var 
ii0l=window.EvRegister.lengthii ii++) {
                if (
window.EvRegister[ii]._evType== type && window.EvRegister[ii]._obj==this && window.EvRegister[ii]._fn==fn) {
                    
window.EvRegister.splice(ii1);
                    break;
                    
                }
            } 
            return 
this;
            },
        
extendido:true
         
    
}
/* ---- métodos públicos ---- */
    
return{
        
extend:function(el,obj){
            if(
el.extendido && el!=metodosPrivados)return el;
            for(var 
i in obj)
                
el[i]=obj[i];
            return 
el;
        },
        
get:function(id){
            if(!
document.getElementById(id))return false;
            return 
panino.extend(document.getElementById(id),metodosPrivados);
        },
        
getO:function(obj){
            return 
panino.extend(obj,metodosPrivados);
        },
        
add:function(obj){
            
panino.extend(metodosPrivados,obj);
        },
        
unregisterAllEvents:function(){
            if(
window.EvRegister)
            while (
window.EvRegister.length 0) {
                   
panino.getO(window.EvRegister[0]._obj).removeEvent(window.EvRegister[0]._evType,window.EvRegister[0]._fn);
            }
            
window.EvRegister=null;
            for(var 
i=0;el=document.getElementsByTagName('*')[i];i++)
                if(
el.extendido)
                    for(var 
ii in metodosPrivados)
                        
el[ii]=null;
            
panino=null;
        }
    }    
})();
var $=
panino.get;
panino.getO(window).addEvent('unload',panino.unregisterAllEvents); 
Fijate cómo por cada evento asignado se guarda un objeto en la variable EvRegister y luego se utilizan esos objetos para remover los eventos durante el evento unload.
  #25 (permalink)  
Antiguo 06/02/2011, 16:13
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Crear objeto THIS

@isabelm; si interesas, en el siguiente enlace puedes leer un articulo de los diferentes patrones que producen derrame de memoria en iexplorer. a mi juicio, bastante bueno. http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #26 (permalink)  
Antiguo 07/02/2011, 01:08
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años
Puntos: 19
Respuesta: Crear objeto THIS

Buenas buzu...

Todo el problema viene al querer hacer un evento "onload" al cargar la web controlado. El caso es que del mismo modo que adjudico los eventos click y demas... necesitaba que lo hacerlo tambien con los load... el problema es que no solo lo queria para objetos... lo queria para ejecutar funciones de un array... solo que tengo otro array onload donde busca objetos por clases y si coincide alguna clase selecciona el objeto y ejecuta las funciones para ese objeto. El caso es que necesitaba que el this para no cambiar toda la funcion... no todas.. pero si muchas.

Bueno... muchas gracias por vuestra ayuda!... he aprendido mucho.

EDITO: que gusto de onload!... lo veo y se me cae la baba
  #27 (permalink)  
Antiguo 07/02/2011, 07:05
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Crear objeto THIS

gracias a ambos por vuestras respuestas.
Panino dice que en versiones posteriores a la 6 puede que no ocurra y por otro lado el articulo al que zerokilled me redirecciona, está fechado en junio del 2005.
eso quiere decir que, al menos en closures, ya no existe ese problema?? y en los demás patrones??
  #28 (permalink)  
Antiguo 08/02/2011, 02:49
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 17 años, 6 meses
Puntos: 122
Respuesta: Crear objeto THIS

Bueno, yo perdí de vista este hilo y ahora no se ni como está la onda. A ver si no meto la pata.

Isabel, el problema del derrame de memoria es un problema de IE6, lo que sucede es que IE6 no libera la memoria hasta que se hace manualmente, que es lo que hace la función del gran panino (holo amigo)* Creo, pero puedo equivocarme, que tiene que ver con garbage collection. IE6 es una pesadilla y tiene más bugs que features (Como se dice en español? U_U!) De cualquier modo, no creo que tenga mucho que ver con closures ni con algún otro patrón.

*No es error de dedo, solo que me gusta holo desde que vi Megamind.
__________________
twitter: @imbuzu
  #29 (permalink)  
Antiguo 08/02/2011, 06:28
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Crear objeto THIS

hola, buzu
no has metido la pata, has respondido a mi duda

Etiquetas: objeto
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:33.