0

我有这个简单的代码:

...
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()
...

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

谢谢回答。

4

2 回答 2

0

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

于 2012-09-28T14:12:12.680 回答
0

根据运行时错误参考:

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

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-09-28T14:22:50.667 回答