FLASH中函数变量的生存期

      FLASH 2005-3-6 15:21
函数中变量的生存期是很重要的,FLASH中函数中变量的生存期和javascript中的是一样的。看个例子:

var myvar="i love";

function myfunction(){

var myFVar=myvar+" flash";

myvar="i love flashac";

return myFVar;

}

myOT=myfunction();

trace(myOT);

//output "l love flash";

trace(myFVar);

//output "undefined" 因为myFVar是个局部变量,在过程结束时,将释放该变量。

trace(myvar);

//output "i love flashac" 因为myvar 是个全局变量在过程是依然存在。

需要注意的是在过程中如果不用var声明变量,将会创造一个全局变量。看一个例子:

var myvar="l love";

function myfunction(){

name="amu";

myvar+=" flash";

}

myfunction();

trace(name);

//output "amu"; 因为声明name时没有用var FLASH将会创建一个name的全局变量。

trace(myvar);

//output "i love flash";

再看下面的例子:

var myvar = "l love";
function myfunction() {
var name = "amu";
var myvar = "flash";
}
trace(name);
//output "undefined"; 因为声明name时用var FLASH将会创建一个name的局部变量。
trace(myvar);

//output "l love"; 因为在过程内部虽然有和一个全局变更同名myvar但是用了var声明它将创建一个独立的局部变量。

此处在变量最好先声明再使用,要不然会得到一些意想不到的结果。
标签集:TAGS:
回复Comments() 点击Count()

回复Comments

{commentauthor}
{commentauthor}
{commenttime}
{commentnum}
{commentcontent}
作者:
{commentrecontent}