Comunidad de diseño web y desarrollo en internet online

Como saber su una variable ha sido declarada en AS3?

Citar            
MensajeEscrito el 29 Oct 2011 03:04 pm
Hola quería preguntar si alguien sabe como puedo saber si una variable fue declarada en AS3, vi que algunos hacen:

if(variable === undefined)

pero eso no funciona, por lo menos en as3 devuelve 1120:Acces of undefined property.

por lo que vi en as3 undefined se aplica solo a variables que no han sido inicializadas o no se les definio el tipo de dato, pero lo que yo quiero es saber si una variable existe.

Gracias :) ^^

Por Hiko

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 29 Oct 2011 08:13 pm
proba usando null

Código ActionScript :

if(variable == null){


Saludos

Por GustavoV

Claber

136 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 30 Oct 2011 04:37 am
gracias por responder. Porbe, pero no funciona, devuelve 1120: Access of undefined property variable.

if(variable == null) funciona cuando uno tiene definida una variable pero esta está vacia, yo quiero detectar si la variable existe.

Por Hiko

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 30 Oct 2011 05:55 am
if (this["asdasd"] == undefined)
trace("No esta creada");

Por lucasmoyano

Claber

1960 de clabLevel

22 tutoriales

Genero:Masculino  

Developer

chrome
Citar            
MensajeEscrito el 30 Oct 2011 01:52 pm
SIIII!!!! Gracias funciona :), así que entonces hay que pasarla entre comillas y corchetes con this, ¿Por que sería esto?

Por Hiko

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 31 Oct 2011 06:09 pm
cuando tenes un Array podes consultar sus objetos a través del id o por un nombre que los identifica (tipo biblioteca)

// Con indice
var a:Array = new Array();
a.push("objeto 1");
a.push("objeto 2");
trace(a[0]) // devuelve objeto 1


// Con biblioteca
var a:Array = new Array();
a["zona1"] = "objeto 1";
a["zona2"] = "objeto 2";

trace(a["zona1"]) // devuelve objeto 1


Los movieclips son objects dinamicos, osea que puedes agregarle todas las variables que quieras de forma dinamica.
this.algo = "ASD";
otra forma de hacer eso:
this["algo"] = "ASD";

en cambio si preguntas por una variable que no existe te devuelve error porque no esta creado el espacio en memoria. Cuando mucho podrias hacerlo asi:

if(this.variable == undefined)

Por lucasmoyano

Claber

1960 de clabLevel

22 tutoriales

Genero:Masculino  

Developer

chrome
Citar            
MensajeEscrito el 31 Oct 2011 06:30 pm
Muchas Gracias por la ayuda!! problema resuelto :)

Por Hiko

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 01 Nov 2011 04:23 am
pero xq necesitas saber si fue declarada??? de q se trata lo q keres hacer??? si se puede saber....


eXe

Por exekiel21

Claber

164 de clabLevel



Genero:Masculino  

programador

firefox
Citar            
MensajeEscrito el 01 Nov 2011 05:42 am
Es que tenia una variable que debia guardar una instancia de un mc, pero este se instanciaba por primera vez al llamarlo desde otro lado, y luego si se volvia a llamar, debia usar la misma instancia. (Muy resumidamente, eso es parte de un sistema mucho mas grande).

Entonces necesitaba saber si la variable existia, la usaba, y sino la creaba e instanciaba.

Por Hiko

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 01 Nov 2011 02:09 pm
podes probar con algo asi:

Código ActionScript :

if (!miclip.mivariable) miclip.mivariable = "hola";
trace(miclip.mivariable)/**/

Por exekiel21

Claber

164 de clabLevel



Genero:Masculino  

programador

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.