J'ai testé le code suivant:AS3 ... (suite) Paramètre
function aa(...aArgs):void
{
trace("aa:", aArgs.length);
bb(aArgs);
}
function bb(...bArgs):void
{
trace("bb:", bArgs.length);
}
aa(); //calling aa without any arguments.
La sortie est:
aa: 0 //this is expected.
bb: 1 //this is not!
Quand je passe des arguments vides (aArgs) à bb fonction; ne devrait-il pas retourner 0 longueur? On dirait que la fonction bb traite les aArgs passées comme non-vides/non-nulles.
Que manque-t-il ici?
Toute aide est appréciée. salutations ..
Je vois. Merci. L'appel de bb.apply (null, args) dans la fonction aa fonctionnera sûrement dans cet exemple. (Je voterais votre réponse si j'avais le 15 représentant.) Mais en fait, j'essaye de passer les arguments à une variable. Tels que: function aa (... args) {someVariable = args; } et le si j'utilise plus tard cette variable dans bb (... args) fonctionne comme: bb (someVariable); - Cela ne fonctionnera pas .. –
Cela devrait encore fonctionner avec l'appliquer. rappelez-vous juste que le somveVariable est un tableau et donc vous aurez besoin de apply() pour pouvoir passer les éléments individuels dans le tableau. –
Non, il ne .. S'il vous plaît voir le fil à http://stackoverflow.com/questions/972460/as3-arguments Je ne peux pas ajouter de code ici, donc je devais poser une nouvelle question .. –