Nagyon hasznos dolog, ha egy függvényünk tetszőleges paraméterekkel rendelkezik. Például egy konstruktor esetében a függvény felhasználója maga döntheti el, hogy ad kezdő paramétereket vagy sem.
Ennek a módja nagyon egyszerű, paraméterként adjunk objektumot a függvénynek:
function freeParamFunc (params:Object):void
{
}
Vigyázzunk, hogy ilyenkor mindig meg kell vizsgálni használat előtt, hogy kaptunk-e paramétert vagy sem (!= null-al):
function freeParamFunc (params:Object=null):void
{
if (params != null)
{
if (params.name != null)
{
trace(params.name);
}
if (params.x != null)
{
trace(params.x);
}
}
}
A függvény meghívása a következő módon történhet:
freeParamFunc() //nincs paraméter
freeParamFunc({name:"valami"}) //egy paramétert adunk meg
freeParamFunc({name:"valami", x:30}) //több paramétert adunk meg
freeParamFunc({kuka:30}) //nem létező paramétert adunk meg
Egyik meghívás sem okoz hibát, viszont vigyázni kell, hogy a paramétereket {} közé kell rakni és : -al kell értéket adni. Ez gyakorlatilag az objektum dinamikus létrehozásának felel meg.
Amennyiben olyan paramétert adunk meg, amit a függvény nem dolgoz fel, nem okoz hibát csak nem csinál vele semmit.
Tehát ez a fajta függvény tényleg szabad felhasználást biztosít a paraméterek terén.
Egyetlen hátránya, hogy az editorok nem adnak segítséget a paraméterek megadására kódoláskor.