Il semble que la meilleure façon de traiter avec des arguments dans les fonctions javascript est d'exiger que l'appelant de passer un tableau associatif:argument de la fonction Javascript Manipulation
example = function(options) {
alert('option1: ' + options.a + ', option2: ' + options.b);
}
Maintenant, les arguments sont nommés et non nécessaires dans un ordre particulier lors de l'appel cette fonction:
example({'b':'hello option2', 'a':'hello option1'});
la seule chose que je fais est j'aime pas avoir tout ce code supplémentaire pour traiter les arguments nécessaires et par défaut, sans parler de ne pas laisser des arguments supplémentaires afin que l'appelant sait qu'ils ont appelé la fonction mauvais:
example = function(options) {
var required_args = ['a', 'd'];
var default_args = {'b':'option2', 'c':'option3'};
var allowed_args = ['a', 'b', 'c', 'd'];
// check required args
// check allowed args
for (var arg in default_args) {
if (typeof options[arg] == "undefined")
options[arg] = default_args[arg];
}
alert('option1: ' + options.a + ', option2: ' + options.b);
}
Existe-t-il une façon standard de gérer cela? Je suppose que je peux créer une fonction comme:
deal_with_args(options, required_args, default_args, allowed_args)
Et jeter une exception si required_args ou allowed_args est violé ...
Je ne pense pas de façon standard existe ... Mais vous pouvez créer votre fonction deal_with_args(), en effet :) « opérateur coalescent null » de –