Ai-je besoin de passer des paramètres vides à une fonction javascript?
Dire que j'ai une fonction comme celle-ci, que je vais appeler 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 suis seulement de passage le premier paramètre.
Question:
Est-il ok dans ce cas omettre de passage des paramètres vides comme suit:
form_senden("abc");
Ou dois-je passer tous les paramètres, peu importe si elles sont utilisées comme suit:
form_senden("abc","","","","","","","","");
Merci!
- Je vous recommande d'utiliser un objet d'options pour les paramètres, si vous en avez plusieurs:
form_senden({ form_name: '...', cnf: '...')
ouform_senden(form_name, { confirm_txt: '...', allow: true })
. - et puis je passer uniquement les options que je veux?
- À droite, un grand nombre de paramètres positionnels est un (mauvais) odeur de code, surtout quand la plupart d'entre eux sont facultatifs. Vous serez heureux vous avez fait cela six mois en bas de la route lorsque vous avez à comprendre ce code.
- ok. cool. Merci pour le pointeur!
Vous devez vous connecter pour publier un commentaire.
form_senden("abc"); est ok
les autres paramètres seront initialisés comme indéfini
C'est bien de passer le premier paramètre que tous les autres ne seront pas réglées.
Si vous souhaitez définir la 1ère et la 3ème argument, vous aurez besoin de faire le 2ème null, comme suit:
vous pouvez le faire juste
form_senden("abc");
de mettre des valeurs par défaut dans la définition de la fonction.Omettre les paramètres de la fonction est ok, les paramètres manquants aura
undefined
de valeur dans la fonction.pour être complet, dans l'ES6 (ES2015) et, plus tard, des valeurs par défaut peut être spécifiée
Concernant les paramètres par défaut. Si vous utilisez un paramétrage par défaut telles que la fonction f(arg=1) {}, le réglage de la valeur par défaut ne fonctionne pas avec de faux, nulll, ou zéro passée. Vous devez laisser l'arg/paramètre vide, passer ou non défini.