gpt4 book ai didi

flash - 验证 AS3 SharedObject 数据的属性是否存在

转载 作者:行者123 更新时间:2023-12-01 09:07:42 25 4
gpt4 key购买 nike

如何验证 SharedObject 的某些属性是否存在?换句话说,我想确保我从本地 SharedObject 中读取了一些有意义的内容(第一次加载 swf 时不应该得到任何好处)

我从 http://www.adobe.com/livedocs/flash/9.0/ActionScriptLangRefV3/flash/net/SharedObject.html 上找到的信息出发

假设我定义了

var my_so:SharedObject = SharedObject.getLocal("superfoo");

现在,如果我已经在 my_so.data.foobar 下获得了一些东西,我想在我的应用程序中使用它。 (myapp.myfoo 在此之前已经有一个默认值)

if (my_so.data.foobar != null) myapp.myfoo=my_so.data.foobar;

这似乎卡在 Flash 10.1 上。我错过了什么?

编辑:感谢您的帮助,问题已解决。 :)

但是,很高兴看到这种检查 SharedObject 的惯用方式。我发现很多例子教如何使用 SharedObject 但它们似乎掩盖了你需要检查是否在其中保存了任何有值(value)的东西这一事实。这正是第一次加载 .swf 时发生的情况。另一个问题是检查是否成功实例化了 SharedObject(例如,当它被禁用时),但这完全是另一个问题......

最佳答案

我怀疑您遇到了 null vs undefined 问题。

我会尝试使用 hasOwnProperty方法:

if (my_so.data.hasOwnProperty("foobar")) myapp.myfoo=my_so.data.foobar;

有几种方法可以确定对象是否具有特定属性,但 hasOwnProperty() 可能是最好的方法。

关于flash - 验证 AS3 SharedObject 数据的属性是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4852090/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com