• 【设为首页】
  • 【收藏闪客居】
当前位置:主页>Flex>文章内容
  • flex3学习系列之二:列举对象元素
  • 来源:sban 作者:sban 2008-03-08 【

用for in可以枚举动态对象的变量。as3中,object是原生的Dynamic class,它的实例可以在运行任意添加变量。如下:

        var obj:Object = new Object();

        obj.a = "Schotten Totten";
        obj.b = "Taj Majal";
        obj.c = "Durche die Wuste";    

 

  a,b,c是动态变量,可以用for..in检举:

        for (var p:String in obj) {
           ta1.text += p + ":" + obj[p] + "\n";
        }

 

  以上运行结果如下:

for in result

  也可以用for each检举对象,这时不能得到变量的名称,只能得到变量的值:

        for  each(var p:String in obj) {
           ta1.text += p + "\n";
        }

 

  用户自定义一个类时,加上dynamic修饰符,即可动态添加变量并检举之。

  如果要检举非动态对象的public元素,可以使用flash.utils.describeType(object)。当object为实例时,返回非静态元素;而当object参数为类定义(非类实例)时,返回静态过元素,可以用flash.utils.getDefinitionByName("className")获得类定义。

  此外还有一个方法,mx.utils.ObjectUtil.getClassInfo(object)可以返回对象的名称及属性。

几点说明:

  1. Object对象有自己的toString()方法,可以返回其动态变量信息。如果只是像以上返回动态变量信息用于查看或其它,只必用for..in,或for each..in,直接mx.controls.Alert.show(obj)即可。
  2. 属性编程在Flex/As编辑中很有用途,并且是AS的设计标准,应该用public属性代替public变量,这样可以避免许多麻烦。



上一篇:彻底学习RadioButton组件   下一篇:flex3学习系列之三:Use Event
  • 用户名:新注册) 密码: 匿名评论
  • 评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)


FLASH源文件

Copyright © 2006-2008 flashas.net All Rights Reserved.
网站内容咨询: admin#flashas.net (#为@) 联系QQ:40777822 浙ICP备06033001号
(本网站最佳浏览解析度为1024*768, 建议使用IE 6.0或以上版本浏览器。)