如何迭代flashvars?(Actionscript)

时间:2012-07-12 19:45:32

标签: flash actionscript

我需要使用什么构造,for或for?

var params = stage.loaderInfo.parameters;

    for (var i in params) 
    { 
       // trace(params[i]);
       // or
       // var test = params[i];
    } 

怎么做,获得所有价值?

ps:params.length - 显示flashvars的数量?

1 个答案:

答案 0 :(得分:3)

您应该使用 for-in for-each-in 循环。 For-in将遍历键,而for-each-in将迭代值。如果你想获得键和值,那么for-in循环可能就是你想要的。

例如,如果您的flashVars看起来像这样:

{ userId: 100, userName: 'Mister PHP' }

for-in循环看起来像这样:

var flashVars:Object = stage.loaderInfo.parameters;

for (var key:String in flashVars) {
    var value:String = flashVars[key] as String;
    trace(key + ' = ' + value);
}

// output:
// userId = 100;
// userName = Mister PHP

虽然for-each-in循环看起来像:

var flashVars:Object = stage.loaderInfo.parameters;

for each (var value:String in flashVars) {
    trace(value);
}

// output:
// 100
// Mister PHP

据我所知,没有简单的方法来获取对象或字典的长度。你必须遍历对象并在每次传递时增加一个计数器。

这里是reference on loops in ActionScript