as3遍历对象所有属性的方法(包含Flex)
为邻水等地区用户提供了全套网页设计制作服务,及邻水网站建设行业解决方案。主营业务为成都做网站、成都网站设计、邻水网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
1、所有对象,包括静态属性和动态属性
ObjectUtil.getClassInfo(this._arr[0]).properties as Array
2、仅能遍历静态属性
var o:Object=new Object();
o.name='mm';
o.type='size';
o.size='32D';
for (var i:String in o)
{
trace(i);
trace(o[i]);
}
3、可以遍历所有属性,需要解析XML,比较麻烦
flash.utils.describeType
var oXml:XML=describeType(o);
For Each ctl As Control In Me.Controls If TryCast(ctl, TextBox) Nothing Then Dim txt As TextBox = TryCast(ctl, TextBox) txt.Text = "" End If
遍历的例子:
Dim i, j As Integer
For i = 0 To DataGridView1.RowCount - 1
For j = 0 To DataGridView1.ColumnCount - 1
MsgBox(DataGridView1.Item(j, i).Value)
Next
Next
注意:与Excel的单元格命名规则不一样,这里的 Item(j, i) 中,列号 j 在前,行号 i 在后。
for each是用来简化for的,但你这种写法有点奇怪,一般没这样用的,通常的用法是
dim a() as string={....}
dim str as string '定义临时变量,它的类型与你数组中元素类型一致
For Each str In a
MessageBox.Show(str)
Next
你上面代码中,a就是一个3个元素的数组,从a[0]到a[2], 用for each的时候,就会遍历你的a数组,上面的代码相当于
for i=0 to a.Length-1
MessageBox.Show(a(i))
next