配列アクセス演算子とeval()を使用したパスの指定。
配列アクセス演算子[]は、ターゲットパスのドット(.)アクセスの替わりに用いられて
ストリングでインスタンスを指定できるところ。
ドットアクセスにはストリングが使用出来ないので
_root.mc_1にアクセスするとして
_root."mc_"+1 // ドットアクセスではスクリプトエラー
_root["mc_"+1] // 配列アクセス演算子でgood!
eval("mc_"+1) // eval()で評価してgood!
これが
_root.mc_1.mc_2にアクセスになると
_root.mc_1."mc_"+2 // ドットアクセスではスクリプトエラー
_root.mc_1["mc_"+2] // 配列アクセス演算子でgood!
_root.mc_1.eval("mc_"+2) // eval()で評価しても駄目
配列アクセス演算子[]をパスの参照のために使う場合には、ドット(.)アクセスと同様、
その前にターゲットパスが必要です。もしターゲットパスが無い場合は
パスの参照でなく、配列(Arrayオブジェクト)としてまったく違う意味に扱われるので気をつけます。
で、その前のターゲットパスが無い場合でストリングでアクセスしたい場合はeval()を
使うと良いと思ったりします(間違っていたらすいません)。
Comments
Post a comment

よく間違えるので。