【问题标题】:Nonsensical TypeError: Error #1010: A term is undefined and has no propertiesNonsensical TypeError: Error #1010: A term is undefined and has no properties
【发布时间】:2013-08-21 03:23:22
【问题描述】:

我有这个简单的代码:

...
for (var w:Number=0; w < MAX_w; w++){

   for (var k:Number=0; k < MAX_k; k++){

      trace("test01");

      if(w != k){
         trace("test02");
         ///do sth...
      }
   }
}
...

输出是:

...
test01 
TypeError: Error #1010: A term is undefined and has no properties.
at NS_fla::MainTimeline/vzdalenosti_bodu()
at NS_fla::MainTimeline/hlaska_zmacknul_sem()
...

请怀疑任何人是什么导致了这个问题?

谢谢回答。

【问题讨论】:

  • 首先,trace(MAX_w, MAX_k) 在这个嵌套循环之前。如果其中任何一个未定义,这就是您的错误的原因。

标签: actionscript-3


【解决方案1】:

如果它只跟踪“test01”一次,那么问题就不会出在 if(w!=k) 范围内,因为第一次 w=k=0。如果您的 MAX_w 和 MAX_k 为 0,那么问题将来自循环之后。无论如何,问题不在于 w 或 k,我认为需要更多代码来解决这个问题。 顺便说一句:为什么是 Number 而不是 int?

【讨论】:

  • 是的,原因是这个问题。我有未声明的数组 :) 抱歉浪费您的时间。
【解决方案2】:

根据运行时错误参考:

如果您尝试访问不存在的对象的属性,则可能会发生此错误。 例如:

var obj:Object = new Object();
obj.a = "foo";
trace(obj.b.prop);

由于拼写错误,您也可以看到此错误,例如在以下示例中,其中 mc 表示显示列表上的 MovieClip 对象,而 stage 属性拼写错误为大写 S(应该是 stage):

trace(mc.Stage.quality);

所有错误都在这里 - http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/runtimeErrors.html

【讨论】:

    猜你喜欢
    • 2012-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-20
    • 2023-03-14
    • 2021-06-21
    • 1970-01-01
    • 2022-12-02
    相关资源
    最近更新 更多