Come posso definire degli argomenti opzionali di funzioni javascript, in modo che possa chiamare, ad esempio popup(url), ma anche popup(url, w, h)?
Come posso definire degli argomenti opzionali di funzioni javascript, in modo che possa chiamare, ad esempio popup(url), ma anche popup(url, w, h)?
http://www.myxperience.net
Ossigeno Scripter
Non vorrei dirti una castroneria, ma non mi risulta che in js si possa fare o l'ovveride della funzione o passare dei parametri optionali.Originariamente inviato da GiorgioSironi
Come posso definire degli argomenti opzionali di funzioni javascript, in modo che possa chiamare, ad esempio popup(url), ma anche popup(url, w, h)?
Invece si puo`.
Nel caso piu` semplice:In questo forum trovi anche altri esempi: in particolare quasi tutti gli script di DW (quelli che iniziano con MM_).codice:function popup(url, w, h) { if (!w) w = LARGH DEFAULT; if (!h) h = ALT EFAULT; ... }
Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
No domande tecniche in messaggi privati
Porca paletta, questa non la sapevoOriginariamente inviato da Mich_
Invece si puo`.
![]()
javascript è un poco strano. Non è necessario che una funzione venga chiamata con la stessa firma della dichiarazioneAl limite puoi fare:
mia_funzione(par1, par2);
function mia_funzione()
{
/*
qui si può recuperare il vettore dei parametri passati
*/
}
Pietro
una sfumatura, Pietro
nel caso inverso, basandoti sul vettore della funzione avresti una sorpresa
mentre la proprieta' arguments riporta gli argomenti realmente passati alla funzionecodice:<script language="JavaScript" type="text/javascript"> <!-- function funzione(val1,val2,val3){ alert(arguments[3]); alert(funzione[3]); } funzione('a','b','c','d') //--> </script>
Ma dove le scovi queste cose?Originariamente inviato da Xinod
una sfumatura, Pietro
nel caso inverso, basandoti sul vettore della funzione avresti una sorpresa
mentre la proprieta' arguments riporta gli argomenti realmente passati alla funzionecodice:<script language="JavaScript" type="text/javascript"> <!-- function funzione(val1,val2,val3){ alert(arguments[3]); alert(funzione[3]); } funzione('a','b','c','d') //--> </script>Non sapevo proprio che si potesse fare funzione.length, funzione[2]
![]()
Comunque, funziona con FireFox, in IE, funzione.length dà correttamente 3, mentre funzione[0] dà undefined
Sono convinto che sia necessario usare un linguaggio come è fatto, ma che sia strano è proprio vero![]()
![]()
Pietro