Variável local e Global como o próprio nome diz, são variáveis para serem utilizadas a nível local (dentro de um determinado bloco do seu código), ou Global (ao longo do sistema).
Para entender um pouco mais vamos fazer um exemplo do uso local de uma variável. Crie um arquivo novo no flash e no primeiro frame digite:
function usoLocal( ):void{
var i :int = 0;
trace(i)
}
usoLocal();
Veja que declaramos a variável i como sendo do tipo inteira, com valor igual a zero e dentro da função. Isto significa que para função usoLocal a variável i esta definida, tanto que ao pedimos o retorno (trace), na aba de output ele vai trazer o valor 0. Mas, será que i só vale para a função usoLocal? Vamos testar, no mesmo frame criei uma nova função pedindo para retornar i.
function usoLocal( ):void{
var i :int = 0;
trace(i)
}
function usoLocal1( ):void{
trace(i)
}
usoLocal();
usoLocal1();
Vejam que neste exemplo ele vai dizer que a propriedade de i esta indefinida, isto acontece porque declaramos dentro de uma função, com isso o seu uso se torna local, o que torna seu valor nulo para outra funções. Para que i seja válido para outras funções devemos declarar-la como uma variável global, ou seja, fora da função.
var i :int = 0;
function usoLocal( ):void{
trace(i)
}
function usoLocal1( ):void{
trace(i)
}
usoLocal();
usoLocal1();
Outra forma de torná-la global é instanciando-a fora das funções e aplicando o valor dentro das funções, nesse caso, a vantagem é poder dar valores diferentes.
var i :int;
function usoLocal( ):void{
i = 0
trace(i)
}
function usoLocal1( ):void{
i=1
trace(i)
}
usoLocal();
usoLocal1();
Veremos que o valor de retorno será 0 e 1, que corresponde aos valores declarados nas funções usoLocal e usoLocal1, respectivamente.
Existe ainda uma terceira forma que seria utilizar função e parâmetro, mas isso a gente discute numa próxima oportunidade, espero que tenham gostado e até o próximo post.
