Teil von Funktionsargumenten an andere Funktion

mfroese

Grünschnabel
Hallo zusammen!

Ich bekomme es einfach nicht hin, nur einen Teil der Funktionsargumente einer Funktion an eine andere Funktion zu übergeben. Geht das überhaupt und wenn ja wie?

Dieses Problem taucht bei mir auf, weil ich an eine Funktion eine beliebige Anzahl von Argumenten übergeben möchte, ich dann aber alle diese Argumente bis auf das erste auch in einer anderen Funktion benötige. Das Übergeben an die erste Funktion geschieht aus html heraus, kann also nicht von vornherein als Array übergeben werden. Die zweite Funktion darf auch nicht mit einem Array arbeiten, sondern braucht die Argumente einzeln (wie bei einem "normalen" Aufruf).
 
Sofern du keine Objekte als Argument übergibst. könntest du es so machen:
Code:
<script type="text/javascript">
<!--
function funktion_b()
{
arrMsg=new Array();
for (b=0; b<funktion_b.arguments.length; ++b)
    {
    arrMsg.push('[Argument'+b+']=>'+funktion_b.arguments[b]);
    }
alert('Argumente:\n\n'+arrMsg.join('\n'));
}


function funktion_a()
{
arrArguments=new Array();
for (a=1; a<funktion_a.arguments.length; ++a)
    {
        arrArguments.push("'"+funktion_a.arguments[a].replace(/'/g,"\\\'")+"'");
    }
eval('funktion_b('+arrArguments.join(',')+')');
}


funktion_a('arg1','arg2','arg3','arg4')
//-->
</script>

function_a() geht dabei die Argumente durch(wobei sie das erste auslässt).
Sie versieht diese mit Quotes, und escaped selbige, falls sie innerhalb des Arguments vorkommen.
Dann hängt sie das Argument an einen Array an.

Im Aufruf von funktion_b() wird dieser Array dann mit Kommas verbunden...fertitsch:)
 
Zuletzt bearbeitet:
aaaaahhhhhh! vielen dank!
sowas hatte ich schon probiert, nur war es bei mir am fehlenden eval() gescheitert.
supi!
 
Zurück