web-dev-qa-db-fra.com

Dois-je passer des paramètres vides à une fonction javascript?

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!

19
frequent

form_senden ("abc"); est ok

les autres paramètres seront initialisés comme indéfinis

15
camino

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");
86
Gung Foo

Omettre les paramètres de la fonction est correct, les paramètres manquants auront la valeur undefined dans la fonction.

2
lanzz

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 
}
2
Teena Thomas

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;
}
0
mangonights

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.

0
jamess