Ciao,
volevo sapere come si dichiarano, in una funzione, gli argomenti opzionali. Ovvero, come si fa a dire che, se nel calling della funzione non viene passato un certo argomento, allora questo deve assumere il valore predefinito.
Grazie a tutti![]()
Ciao,
volevo sapere come si dichiarano, in una funzione, gli argomenti opzionali. Ovvero, come si fa a dire che, se nel calling della funzione non viene passato un certo argomento, allora questo deve assumere il valore predefinito.
Grazie a tutti![]()
prova con un semplice
non so se undefined funzia, semmai prova qlc altro al suo postocodice:function ciao(i) { if(i==undefined) { i=valorePredefinito; } }
powered by GNU/Linux Gentoo
A Elbereth Gilthoniel o menel palan-diriel, le nallon sí di-nguruthos! A tiro nin, Fanuilos!
Niente, non funzia
se il valore viene passato così --> [], flash non gli abbina né undefined né altro, ma lo lascia semplicemente così --> [], e questo mi sta rendendo impossibile il riconoscimento della condizione nell'if... cmq grazie, se ti viene in mente qualcosa sono qua![]()
Guarda che così:
*stai* passando alla funzione un parametro, proprio quel []. Se non vuoi passarlo, chiama la funzione cos'ì:codice:nome_funzione([]);
e quello che ha scritto guglie è correttissimo..codice:nome_funzione();
Sì, ma il problema viene fuori quando ci sono più argomenti, e se il secondo argomento non viene passato, di solito nei programmi si scrive:
risultato = funzione(arg1, [], arg3);
Infatti, non posso certo scrivere
risultato = funzione(arg1, , arg3);
concordate?
Ed è questo che mi frega...
l'unico modo (che mi viene in mente) sarebbe poter riconoscere una variabile che ha questo valore --> [], ma non so come si fa.
Beh, puoi fare tante cose, come passare un valore apposito:
risultato = funzione(arg1, "no", arg3);
oppure semplicemente mettere l'argomento opzionale per ultimo:
risultato = funzione(arg1, arg2); // e salti il terzo parametro
Allora passerò un valore apposito, perché ci sono diversi argomenti opzionali, non solo uno.
Speravo ci fosse una soluzione più, come dire, hard-coded...
Cmq grazie
![]()
la soluzione hard-coded è quella di utilizzare le funzioni per come sono state create.
un buon modo di usare funzioni è quello di usare il minor numero possibile di argomenti, soprattutto quelli opzionali.
Purtroppo in flash mx 2004 non hanno implementato il tanto acclamato method overloading, altrimenti avresti potuto tranquillamente usare quella tecnica.
Sarebbe anche stato molto bello veder implementata la gestione degli argomenti opzionali di python.. ma qui andiamo troppo oltre..
per evitare problemi cmq passa il valore null o undefined come argomento nullo
Ti ringrazio, farò così
fra l'altro, non ho l'mx2004 ma solo l'mx quindi anche se l'avessero imlpementato...![]()