Un javascript modèle de conception pour les options avec les valeurs par défaut?

//opt_options is optional
function foo(a, b, opt_options) {
  //opt_c, opt_d, and opt_e are read from 'opt_options', only c and d have defaults
  var opt_c = 'default_for_c';
  var opt_d = 'default_for_d';
  var opt_e; //e has no default

  if (opt_options) {
    opt_c = opt_options.c || opt_c;
    opt_d = opt_options.d || opt_d;
    opt_e = opt_options.e;
  }
}

Ci-dessus semble terriblement bavard. Ce qui est une meilleure façon de gérer argument options avec les paramètres par défaut?

  • jQuery et soulignent à la fois venir avec un étendre la méthode qui gère cela très bien.
  • ainsi, l'utilisation de extend et de ne pas conserver des variables locales pour les options?
  • En fait, après un certain temps, j'en ai conclu que le fait d'être détaillé est une bonne chose quand il s'agit de Javascript arguments nommés. La copie de chaque argument d'une variable au début de la fonction est une bonne façon de documenter quelles sont les options et vous permet aussi de les modifier sans vissage avec l'objet original.
  • J'ai tendance à être d'accord, mais je n'aime pas chaque variable apparaissant deux fois. Découvrez ma solution ci-dessous.
InformationsquelleAutor ripper234 | 2012-03-07