Comunidad de diseño web y desarrollo en internet online

variable fuera de funcion coje valor de dentro de funcion

Citar            
MensajeEscrito el 14 Jun 2012 11:35 am
Porque sucede esto cuando pongo

Código :

var loader:URLLoader = new URLLoader(); 
loader.dataFormat = URLLoaderDataFormat.VARIABLES; 
loader.addEventListener(Event.COMPLETE, onComplete); 
var kaas='fuera funcion';
trace(kaas+' en tiempo 0');
function onComplete(e:Event):void
{    
kaas=String(loader.data.variablez);
}  
loader.load(new URLRequest("aaaa.txt")); 

var tempu:Timer=new Timer(1000,1);
tempu.addEventListener(TimerEvent.TIMER, far2);
tempu.start();
function far2 (e4:TimerEvent){
         trace(kaas+' pasados 1000 milisegundos');
            }   
trace (kaas+' en tiempo 10milisegundos');

y el fichero de texto aaa.txt es

Código :

variablez=dentro funcion


pues bien el resultado es el siguiente en el output:

fuera funcion en tiempo 0
fuera funcion en tiempo 10milisegundos
dentro funcion pasados 1000 milisegundos

yo pensaba que el valor kaas al pasar a la otra funcion far2 recuperaba el valor 'fuera funcion' pero no es asi. Alguien me puede decir porque?? No tendria que aparecer en el ultimo trace fuera de funcion pasados 1000 milisegundos???

Por aukun

Claber

200 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 14 Jun 2012 12:41 pm
Necesitas conocer un concepto básico que es alcance (scope en inglés)
En flash las variables pertenecen a la línea de tiempo y a la función si son declaradas dentro de esta. Tu la declaraste en la línea de tiempo, por lo tanto ambas funciones comparten el mismo valor
Acá hay una explicación que hice hace muuuuchos años, pero que igual sigue siendo valida: http://www.flash-db.com/Board/index.php/topic,4072.0.html

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox

 

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