当前位置:首页>网络学院>网页制作>Flash教程>文章内容

关于 Flash 中变量的声明和寿命

[ 来源:www.it55.com | 作者: | 时间:2007-07-12 | 收藏 | 推荐 ] 【

前些天,看到 这个贴子,就有一些疑问,没来得及仔细讨论,其实这个问题很重要,Flash 的 actionScript 和其他的语言有不同的地方,我查了几本书,把我所了解的补充一下。

www.it55.com在线教程

1.Flash没有真正意义上的全局变量,这点和 Director 不同,全局变量是指一旦声明,在整个电影都有效,这点Flash 是做不到的。对于我们来说,要讨论的是: 45398 www.it55.com it55学习IT知识,享受IT生活 4dfkjn

a: 一个变量可以存在多久?

http://www.it55.com/

b: 怎样设定和提取变量值? www.it55.com在线教程

2. Flash 的变量只在其所在的时间线上有效。在某个时间线上声明的任何变量对于该时间线上的所有 scripts 来说都有效。所以对于在 movieClip 的时间线上声明的变量, 如果要在主时间线上调用,就必须使用点语法来指向所要针对的 movieClip ,也就是对象(object). 45398 www.it55.com it55学习IT知识,享受IT生活 4dfkjn

3.对于 movieClip里的变量来说,其寿命和该 movieClip 的在舞台上的instance的寿命相当。也就是说,一旦这个 instance 从舞台上消失(不是指它的 visual appearance ), 那么其中的变量也同时消失了。同样的道理对于主时间线上的变量来说, 一旦 unload 该 swf ,那它上面的变量也就消失了,或者说不可以在被调用了。

vd;k;l www.it55.com rdfg

4. var 是的非常好的习惯,正如斑竹所说的,每次声明变量用 var,很规范,很专业,而且尽可能的先声明,再赋值,尽管 Flash 5 在这一点上很宽松。 www.it55.com在线教程

5. 在function 里使用 var 来声明变量是标准的局部变量,也就是说只在 function 内有效。如果不用 var 来声明,仍然是非局部变量。 IT资讯之家 www.it55.com

下面的例子也许可以说明这个问题。 http://www.it55.com/

var x = 1//在function外,只是非局部变量 x,赋值为1
function demo()
{ x=10; //非局部变量 x,重新赋值为10
y=20;//非局部变量 y,赋值为20
var z=30;//在function内是局部变量 z,赋值为30
trace(x+","+y+","+z); //在output窗口显示结果
} demo();//调用function, 结果是10, 20,30
trace(x);//结果是10, function内的重新赋值还是有效
trace(y);//结果是20
trace(z); //结果是nothing, 因为是局部变量, 只在function内有效 sflj www.it55.com kg^&fgd

(阅读次数:

返回顶部
 

网友评论

[以下评论为网友观点,不代表本站。请自觉遵守互联网相关政策法规,所有连带责任均有评论者自负。]
[不超过250字]

最新文章