2012-07-12 42 views
0

什麼構造我需要使用,在,或爲什麼?如何迭代flashvars?(Actionscript)

var params = stage.loaderInfo.parameters; 

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

要怎麼做才能得到所有的值?

ps:params.length - 顯示flashvars的數量?

回答

3

您應該使用for-infor each-in loop。 For-in將遍歷這些鍵,而for-in-in將迭代這些值。如果你想獲得鍵和值,一個for-in循環可能就是你想要的。

例如,如果您的Flash變量是這個樣子:

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

一種-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 

雖然換每個-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

+0

謝謝!爲了exaplanation – 2012-07-12 20:55:59