<p>当一个类有很多名称相似的属性(如prop1,prop2,prop3……),或是有很多名称相似的方法(如fun1,fun2,func3……),那么如何用一个for()循环循环调用这些属性和方法呢?</p><div style="page-break-after: always;"><span style="display: none;"><!--more-->& nbsp ;</span></div><p>    可以用如下的方法实现:</p><p>package {
    import flash.display.Sprite;

    public class Test extends Sprite
    {
        private var prop1:String = "foo";
        private var prop2:String = "bar";
        public function Test():void
        {       
            for (var i:int=1; i<3; i++)
            {
                trace(this["prop"+i]);
            }
            for (var j:int=1; j<3; j++)
            {
                this["fun"+j].apply(this, [j,"字串"+j]);
            }
        }
        private function fun1(i:int, str:String):void
        {
            trace("fun1被调用!");
            trace(i);
            trace(str);
        }
        private function fun2(i:int, str:String):void
        {
            trace("fun2被调用!");
            trace(i);
            trace(str);
        }
    }
}</p><p>      </p><p>输出结果:</p><p>foo
bar
fun1被调用!
1
字串1
fun2被调用!
2
字串2</p><p> </p><p>    如果要循环调用其它类对象的属性、方法,比如在类Test中循环调用类Test2实例对象的属性、方法。可以用下面的方法实现:</p><p>Test.as</p><p>package {
    import flash.display.Sprite;

    public class Test extends Sprite
    {
        
        public function Test():void
        {        
            var test2:Test2 = new Test2();
            for (var i:int=1; i<3; i++)
            {
                trace(test2["prop"+i]);
            }
            for (var j:int=1; j<3; j++)
            {
                test2["fun"+j].apply(test2, [j,"字串"+j]);
            }
        }
    }
}</p><p>Test2.as</p><p>package
{
    public class Test2
    {
        public var prop1:String = "test2中的foo";
        public var prop2:String = "test2中的bar";
        public function Test2():void
        {        
        }
        public function fun1(i:int, str:String):void
        {
            trace("test2中的fun1被调用!");
            trace(i);
            trace(str);
        }
        public function fun2(i:int, str:String):void
        {
            trace("test2中的fun2被调用!");
            trace(i);
            trace(str);
        }
    }
}</p><p>输出结果:</p><p>test2中的foo
test2中的bar
test2中的fun1被调用!
1
字串1
test2中的fun2被调用!
2
字串2</p>