2009-03-03 6 views
0

J'ai le code suivant:La déclaration de fonction est-elle autorisée dans l'appel de fonction pour ActionScript?

var a= 1 + (function (x) { return x+1;} (2)); 

Ceci est autorisé en JavaScript, mais dans ActionScript, il est toujours afficher un message d'erreur, en disant cette ligne de code est erroné. Je ne trouve pas de documentation sur ActionScript à ce sujet, quelqu'un a une idée à ce sujet?

Merci d'avance!

J'ai une idée comme: var a = 1+ (fonction (x) {return x + 1;}). Appel (fonction (x) {return x + 1;}, 2); cela fonctionne bien pour cet exemple. et ceci se rapporte à une fonction qui est exactement la même que celle qui précède la chaîne "call". le fichier arguments.caller est l'emplacement ci-dessus "call (..)", et le fichier arguments.callee fait référence à la fonction après la chaîne "call". the arguments.length est 1. En ... cela va-t-il bien?

Il a résolu, en modifiant les balises SWF ^^

+0

J'espère que c'est code juste échantillon puisque, si je l'ai vu dans le code réel, je changerais à « var a = 4; » puis vous traquer comme un canard et vous battre sévèrement :-) – paxdiablo

+0

Merci pour la suggestion. Ceci est un exemple de code pour convertir le code javascript en actionscript. –

Répondre

6

Essayez la syntaxe suivante:.

var a = 1 + (function (x) { return x+1;})(2); 
+0

Ou, essayez plutôt ce code: "var a = 4;". WTF est cette monstruosité même pour? :-) – paxdiablo

+1

Je pense que vous avez manqué le point, le questionneur posté un exemple de fonction triviale pour illustrer le problème. Je doute fortement qu'il ait vraiment l'intention d'écrire du code comme ça, je suppose qu'il veut juste comprendre pourquoi les fonctions en ligne anonymes ne fonctionnent pas. –

+0

oui. Je vous remercie. Je veux convertir la fonction inline anonyme en actionScript. le code ci-dessus fonctionne en JavaScript, et je suis en train de convertir JavaScript en ActionScript. –

0

Le "2" est un argument à la fonction? IAC: pourquoi ne pas le décomposer et affecter la fonction à une variable locale, et transmettre la variable. Il est également plus facile à comprendre et à déboguer.

Vive

+0

Merci. Le code ci-dessus se passe dans mon cas de test pour compiler le code javascript en actionscript. Si je casse, j'ai besoin de forcer ma conversion de code pour mettre une déclaration de définition de fonction avant la ligne de code actuelle. Avez-vous des suggestions sur la modification du code ci-dessus pour travailler localement? –

Questions connexes