Funzioni Javascript
Argomenti della funzione
Ecco un esempio di come estrarre gli argomenti passati al richiamo di una funzione.
Gli argomenti della funzione nome_funzione si trovano nell'array nome_funzione.arguments, gestibile come un qualsiasi altro array.
function funzione(){ // array che raccoglie con gli argomenti della funzione argomenti = new Array(); // per ogni argomento passato alla funzione for( i=0; i<funzione.arguments.length; i++ ) { // ... argomenti[i] = funzione.arguments[i]; } }
Richiamare una funzione dal nome
Data la funzione e avendo il suo nome in formato stringa
function refresh_function() { ... }
La si può richiamare così:
eval( 'refresh_function' )( );
oppure così:
var function_name = 'refresh_function'; window[function_name].apply();
oppure così in jquery:
function handlerName(e) { alert(e.data.msg); } $(document).ready( function() { $("p").bind( "click", { msg: "You just clicked the paragraph!" }, handlerName ) } );
Controllo dell'esistenza di una funzione
Affinchè non venga lanciato un errore, se non si è sicuri dell'esistenza/implementazione di una funzione, è bene fare un controllo della sua esistenza per evitare errori javascript...
if( typeof( nome_funzione ) == "function" ) { nome_funzione(); }