Disons que j'ai une fonction comme celle-ci, que j'appelle tout au long d'un script:
function form_senden( form_name, cnf, confirm_txt, trigger_field, ,do_check, chknfcs, allow, errorMsg ){
// do something
}
Sur la plupart de mes appels de fonction, je ne passe que le premier paramètre.
Question:
Peut-on dans ce cas omettre de passer des paramètres vides comme ceci:
form_senden("abc");
Ou ai-je besoin de transmettre tous les paramètres, qu'ils soient utilisés ou non?
form_senden("abc","","","","","","","","");
Merci!
form_senden ("abc"); est ok
les autres paramètres seront initialisés comme indéfinis
Il est correct de ne transmettre que le premier paramètre car tous les autres paramètres ne seront pas définis . Si vous souhaitez définir le 1er et le 3ème argument, vous devrez définir le 2ème null, comme suit:
form_senden("a",null,"b");
Omettre les paramètres de la fonction est correct, les paramètres manquants auront la valeur undefined
dans la fonction.
vous pouvez juste faire form_senden("abc");
mettre les valeurs par défaut dans la définition de la fonction.
function form_senden( form_name, cnf , confirm_txt , trigger_field , ,do_check , chknfcs, allow, errorMsg ){
if(typeof(cnf)==='undefined') cnf = '';
if(typeof(confirm_txt)==='undefined') confirm_txt = ''; ...and so on
// do something
}
pour être complet, dans ES6 (ES2015) et les versions ultérieures, vous pouvez spécifier les valeurs par défaut.
// `b` will default to 1
function multiply(a, b = 1) {
return a * b;
}
Concernant les paramètres par défaut. Si vous utilisez un paramètre par défaut tel que la fonction f (arg = 1) {}, le réglage de la valeur par défaut ne fonctionnera pas avec false, nulll ou zéro transmis. Vous devez laisser le paramètre arg/paramètre vide ou transmettre indéfini.