2010-12-09 48 views
6

我看到我的同事利用这个可怕的语法很多:这个[“实例名”]语法

var mc1: MovieClip; 
var mc2: MovieClip; 
var mc3: MovieClip; 
var mc4: MovieClip; 
var mc5: MovieClip; 

for (var i:int = 1; i <= 5; i++) { 
    addChild(this["mc" + i]); // UURRGGHHH 
    TweenLite.to(this["mc"+i], 1, {alpha: 0}); // FNNNGGGGGHHHH 
} 

因为我是个专横草皮,我放在一起的原因列表为什么要结婚使用数组进行迭代,而不是讨厌的方括号语法。我知道使用这种语法是错误的,但我不能想出足够令人信服的理由,为什么他们应该放弃它。

请给我一些事实。

+0

可维护性? – Maurycy 2010-12-09 14:28:18

+0

是的,我同意。易读性也。 – hamishtaplin 2010-12-09 14:31:33

回答

8
  • 使用数组可以很容易地添加另一个项目。您不必声明新的变量。
  • 添加其他项目时,不必修改for循环的限制。
  • 如果需要,您只有一个变量需要重命名。
  • 当您可以通过语义上有用的定义识别出一组事物时,它可以帮助您以卓有成效的方式进行思考。
6

类型安全。

方括号语法不会导致体面类型,因此编译器可以在编译时检查问题。对于因类型问题导致运行时异常来找我的人,我毫不怜悯。

严重的是,AS3中的类型系统是有原因的。用它。不要找出解决方法。它可以防止问题。

0

事实:今天下午我只是用类似的方法。

但是,下面的方法可满足 '它们的' 厚望:

VAR MCS:数组= [MC1,MC2,MC3,MC4,MC5];

为(VAR I:INT = 1;我< = mcs.length;我++)
{
的addChild(MCS [I]);
TweenLite.to(mcs [i],1,{alpha:0});
}

4

我会在这里与你争论,说,你不应该使用数组来,但载体