2010-12-09 46 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

我會在這裏與你爭論,說,你不應該使用數組來,但載體