ActionScript - eval( ) this[ ] 觀念

說到 eval 這是 flash4 早期版本就有的東西
因為 早期 flash 5 不能使用 eval 所以被this[ ] 方法取代

現在還會用的人 有兩種情況 很早就使用flash , 再來就是java用習慣了

我舉個例子:

_root.createEmptyMovieClip("nn"+i,
i); //以nn+i 命名建立一個movieclip
 var pp = eval("nn"+i); // nn+i 這一串東西用
pp 取代
pp._alpha=50; //意思 現在的pp 就等於  nn(字串)+i(變數)
但某些時候我們又一定
要用到 eval
for (var i = 1; i <= 3; i++) {
 setProperty(square+i+_mc, _rotation, 5);
}

//setProperty
意思 對 square+i+_mc 物件 的 _rotation(旋轉度) 設為5
//但變數擺在方法裡 以上的寫法是絕對行不通 會產生錯誤
//所
以這時候 eval 就來了  將命稱與變數包起來用


for (var i = 1; i <= 3;
i++) {
     setProperty(eval("square"+i+"_mc"), _rotation, 5);
}

當然了 沒人規定 沒有eval 就活不下去了
以我的寫法:
for (var i = 1; i <= 3; i++) {
 this["square"+i+"_mc"]._rotation = -5;
}
this["square"+i+"_mc"] //開頭以[]將變數包起來用
                       //是很重要的用法 一定要學起來

沒有留言:

張貼留言