Ver Mensaje Individual
  #2 (permalink)  
Antiguo 22/12/2008, 11:58
Avatar de Panino5001
Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años, 7 meses
Puntos: 834
Respuesta: funcion variables y delete

No sé en jQuery, pero en un click normal de javascript ambas quedan en memoria, sólo que una queda en el ámbito de la función anónima y la otra, que no existía, pasa a ser una nueva propiedad de window o del ámbito donde se encuentre la función anónima. En cuanto a cuándo borrarlas, cuando dejes de utilizarlas, pero no sólo usando delete las eliminás de memoria: también las eliminás igualándolas a null.
Pero no usar var puede ser peligroso. Por ejemplo, si tenemos declarada esta función:
Código PHP:
function algo(){
    return function(){
        
a=5;
    }

Si hacemos:
Código PHP:
alert(a)//error: a es undefined 
Si hacemos:
Código PHP:
algo();
alert(a)//error: a es undefined 
Si hacemos en cambio:
Código PHP:
algo()();
alert(a)//a=5 
Si en cambio tenemos otra función declarada así:
Código PHP:
function algo(){
    
        
a=5;

Si hacemos esto:
Código PHP:
alert(a)//error: a es undefined 
Si hacemos esto:
Código PHP:
algo()
alert(a)//5
alert(window.a)//5 
Es decir, aunque no sea tu intención, podés hacer que una variable se convierta en global sólo ejecutando la función si no le antepusiste el prefijo var.

Última edición por Panino5001; 22/12/2008 a las 12:04