我对 Actionscript 有点陌生,但我无法弄清楚这一点。我已经对这个主题进行了很多搜索,但没有找到明确的答案。我尝试了人们在网上发布的以下解决方案,但它们都不起作用。
以下所有解决方案都会给出错误:1120: Access of undefined property myVariable
建议#1:
try {
trace(myVariable); }
catch {
trace("your variable doesn't exist"); }
建议2:
if (myVariable) {
trace("your variable exists!!"); }
else {
trace("it doesn't exist"); }
建议#3:
if ( myVariable == null )
trace("your variable doesn't exist");
建议#4:
if ( myVariable == undefined )
trace("your variable doesn't exist");
就像我说的那样,我在网上找到了许多论坛帖子和东西,它们给出了上述建议,说它们会起作用,但它们似乎都给了我同样的 1120:访问未定义的属性 myVariable错误。
顺便说一句,如果您想知道为什么我需要检查变量是否存在,我计划在其 URL 中将变量传递给 SWF,因此我需要确保存在正确的变量并处理代码如果它们没有通过,则正确。
感谢您的快速回复。仍然没有真正工作。变量的范围就在脚本的顶层/根级别。基本上,我开始一个新的 flash 文件,在第一帧我添加以下操作:
// to check for this.myVariable
if ( this.hasOwnProperty( "myVariable" ) ) {
trace("myVariable exists");
}
else
{
//Variable doesn't exist, so declare it now
trace("declaring variable now...");
var myVariable = "Default Value";
}
trace(myVariable);
当我运行 flash 文件时,我得到以下输出:
myVariable exists
undefined
我期待这个:
declaring variable now...
Default Value