ActionScript 3.0基础——流程语句

package { 
    import flash.display.MovieClip; 
    public class StatementDemo extends MovieClip 
    { 
        public function StatementDemo(){ 
            var myXML:XML = 
            <USERS> 
                <FNAME>Jane</FNAME> 
                <FNAME>Susan</FNAME> 
                <FNAME>John</FNAME> 
            </USERS>; 
            for each (item in myXML.fname) 
            { 
                trace(item); 
            }       
        } 
    } 
}

AS3.0中新增了for…each循环语句,它最大的优点就是可以直接遍历XML或XMLList对象。

虽然都是循环语句,但for…each循环语句与for…in不同。

1. for…each循环语句遍历对象,循环变量包含属性值,而for…in循环语句无序遍历对象,循环变量包含属性名。

package { 
    import flash.display.MovieClip; 
    public class StatementDemo extends MovieClip 
    { 
        public function StatementDemo(){ 
            var i; 
            var myObj:Object = {x:20, y:30,z:50}; 
            for (i in myObj) 
            { 
                trace(i); 
            } 
            for each (i in myObj) 
            { 
                trace(i); 
            } 
        } 
    } 
}

2. for…each和for…in循环语句都可以顺序遍历数组的元素,但前者循环变量包含元素值,而后者循环变量包含元素下标。

package { 
    import flash.display.MovieClip; 
    public class StatementDemo extends MovieClip 
    { 
        public function StatementDemo(){ 
            var i; 
            var myArray:Array = ["one","two","three"]; 
            for (i in myArray) 
            { 
                trace(i); 
            } 
            for each(i in myArray) 
            { 
                trace(i); 
            } 
        } 
    } 
}

发表评论