for in什么意思

var myObj:Object = {x:20, y:30};
for (var i:String in myObj) {
trace(i + ": " + myObj[i]);
}这里面的for in是什么意思

for……in是一个内部实现的遍历。我们通常的for遍历都需要通过索引,比如:for (int i=0;i<=某个长度;++i) {
//myObj[i]
}这样的遍历非常容易出错(造成下标错误)。为了避免这个问题,我们特地引入了for……in……“安全”遍历,其原理是内部实现了Enumerable和Enumerator接口,内部生成一个指针进行遍历。我来模拟其内部结构: class MyEnumerator:Enumerable,Enumerator{ private 索引 = 0; //假设0是下标 public 集合中个体数据类型 Current { return 集合[指针索引] } public bool MoveNext() { return 索引<集合总量; } public void Move() { 索引++; } public Enumerable GetEnumerator { return this; }} 实际上相当于:for(Enumerable e = 集合类;e.MoveNext();e.Move()){ …………}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-06-23
for in 用于遍历对象的属性。
如这题而言 ,对象字面量myObj有两个属性x,y.
用for in来遍历这个对象的属性 for(var i:object in myObj){
这里对每一个属性都进行某个操作,如trace(myObj[i]);
}//结果是x:20,y:本回答被网友采纳
第2个回答  2013-06-23
for 是循环 in:定义的string类型在Myobj里面,后面的包括前面的,简单理解就像 for(......){if(......)}
相似回答