Flash8中的变量不需要定义也可以使用,这会导致全局变量与局部变量的混杂,使用时有可能就会出错。
全局变量不止是函数外定义的变量,函数内使用的变量如果没有定义,那么它也是全局变量。
局部变量是在函数内定义的变量,这个局部变量使用前,一定要用var定义,否则这个变量就是全局变量。
假如有下面的代码:
function Test()
{
for (i=0; i<10; i++){}
}
Test();
trace (i);
变量i在函数内使用,但未曾定义,则i是个全局变量,那么trace(i)则显示i=10。
但如果函数内有var i,则i是个局部变量,trace(i)则显示undefined。
总结,如果想用局部变量,那么该变量前一定要加var,否则为全局变量。