AS3 - 更新变量

Posted

技术标签:

【中文标题】AS3 - 更新变量【英文标题】:AS3 - Updating Vars 【发布时间】:2010-12-03 14:27:25 【问题描述】:

我有一个 var 来获取缩略图的宽度,它是在我的课程代码的开头设置的。

var thumbW:Number;

然后我在一个使用舞台调整大小更新的函数中更新该 var。

function x()
    var thumbW:thumbnails.width;
    //tracing thumbW here returns the updated value. Perfect!

然后我尝试在滚动缩略图的函数中获取 thumbW

function y()
    trace(thumbW);

但是,在 y 函数中,它只返回 NaN,也就是 Not a Number,告诉我该变量的值未设置或更新。

我想知道为什么会这样?为什么我不能更新这个变量?怎么办?

【问题讨论】:

【参考方案1】:

你的函数 x 有问题。

如果你想访问全局变量thumbW,你应该像thumbW = 123一样直接使用它。使用var 将在函数内声明另一个局部变量。

而且,你为什么要设置标志thumbnails.width?应该有编译错误!错别字?

函数 x 的完整代码应该是:

function x():void 
    thumbW = thumbnails.width;

顺便说一句,您应该了解有关变量范围的更多信息。有an article from adobe help。

【讨论】:

谢谢你,李安迪!这是一个原始的错误,但有时我们需要清醒的头脑才能摆脱这种陷阱。谢谢你,再次! 另外,不要有一个名为 x() 的函数会与大量内容发生冲突!

以上是关于AS3 - 更新变量的主要内容,如果未能解决你的问题,请参考以下文章

使用字符串的 AS3 目标控制器类变量

ActionScript 3 AS3:使用SWFObject2和AS3传递变量

AS3:检查变量是不是属于 Object 类型

ActionScript 3 AS3规模变量

Flash AS3 全局变量?

as3 重用具有不同变量的 datagrid cellrenderer