2014-10-07 124 views
1

有沒有辦法引用功能範圍的根。功能範圍的範圍根

如果對象「myObject的」已瓦爾「S0,S1 & S2」,則可以通過一個,以達到他們for循環是這樣的:

for(var i:int = 0; i < 3; i++) 
    trace(myObject['s'+i]); 

或者即使使用「這個」,如果代碼是成對象:

for(var i:int = 0; i < 3; i++) 
    trace(this['s'+i]); 

有沒有辦法給一個函數裏面這樣做:

var s0:String = 'xx'; 
var s1:String = 'yy'; 
var s2:String = 'zz'; 

function func(s0:String, s1:String, s2:String) 
{ 
    for(var i:int = 0; i < 3; i++) 
     trace(this['s'+i]); 
} 

func('aa','bb','cc'); 

凡竟被FUNC d trace'aa','bb'&'cc'而不是'xx','yy'&'zz'?

回答

0

可以使用arguments對象,它是在一個函數可爲您提供哪些被傳遞給它的參數信息(見documentation):

var s0:String = 'xx'; 
var s1:String = 'yy'; 
var s2:String = 'zz'; 

function func(s0:String, s1:String, s2:String) 
{ 
    for(var i:int = 0; i < arguments.length; i++) 
     trace(arguments[i]); 
} 

func('aa','bb','cc');