Foros del Web » Programando para Internet » Javascript »

Verificar si variable esta definida

Estas en el tema de Verificar si variable esta definida en el foro de Javascript en Foros del Web. Hola Quiero saber si existe manera de verificar en Javascript si una variable o función está definida, lo que pasa es que necesito llamar a ...
  #1 (permalink)  
Antiguo 07/05/2007, 04:15
 
Fecha de Ingreso: junio-2003
Ubicación: Cali
Mensajes: 80
Antigüedad: 20 años, 10 meses
Puntos: 0
Verificar si variable esta definida

Hola

Quiero saber si existe manera de verificar en Javascript si una variable o función está definida, lo que pasa es que necesito llamar a una función pero si ésta está definida, creo que eso no se puede pero lo que creo que si puedo hacer es verificar si una VARIABLE está definida o no, y si la variable está definida pues llamo a la función, así, cuando tenga páginas en las que la función si exista pues defino la variable y listo.

Gracias

Carlos H. Cerón M.
  #2 (permalink)  
Antiguo 07/05/2007, 06:18
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
Re: Verificar si variable esta definida

Supongo que te puede ilustrar este ejemplo:

Código PHP:
<script>

function 
e(q,noBr) {
    
document.body.appendChilddocument.createTextNode(q) );
    if(!
noBrdocument.body.appendChilddocument.createElement("BR") );
}

var 
pepe="hola";
var 
pepa="adios";
try {
    
e(pepe);
    
e(paco);
    
e(pepa);
} catch(
error) {
    
e("ERROR!");
    for(var 
i in error)
        
e("error['"+i+"'] --> "+error[i]);
}


</script> 
Salida:
Cita:
hola
ERROR!
error['message'] --> paco is not defined
error['fileName'] --> file:///C:/DOCUME~1/DERKEN~1/CONFIG~1/Temp/non2.htm
error['lineNumber'] --> 23
error['stack'] --> @file:///C:/DOCUME~1/DERKEN~1/CONFIG~1/Temp/non2.htm:23
error['name'] --> ReferenceError

Igual que con variables se podrá hacer con funciones porque una función no deja de ser una variable de nombre el nombre de esa función.



Un saludo.
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
  #3 (permalink)  
Antiguo 07/05/2007, 06:44
 
Fecha de Ingreso: junio-2003
Ubicación: Cali
Mensajes: 80
Antigüedad: 20 años, 10 meses
Puntos: 0
Re: Verificar si variable esta definida

Hola Derkenuke...

Gracias por tu respuesta...

También quiero agregar que para averiguar si una variable está definida lo he hecho de esta manera

if (undefined==window.nombrevariable)
{
//codigo aqui....
}

Saludos
  #4 (permalink)  
Antiguo 07/05/2007, 07:36
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
Re: Verificar si variable esta definida

Sí, creo que es mejor método para comprobar una variable explicitamente.

Si necesitas escribir un código largo sin saber si alguna variable va a estar definida, creo que es mejor el try catch, ya que no tienes que escribir condicionales por cada variable, y además puedes conocer el tipo de error.
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
  #5 (permalink)  
Antiguo 27/09/2008, 13:41
kxo
 
Fecha de Ingreso: julio-2008
Mensajes: 40
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: Verificar si variable esta definida

Uff cada vez me sorprende más javascript. No tenía idea que se podían también manejar las excepciones. Saludos!
  #6 (permalink)  
Antiguo 28/09/2008, 02:46
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Respuesta: Verificar si variable esta definida

El mensaje original es de hace más de 1 año. Por favor, no reviváis temas tan antiguos.

Saludos,
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 07:59.