Arguments variables en Javascript: deux alternatives

En JavaScript, vous pouvez écrire des fonctions avec des arguments variables, c'est-fonctions qui n'acceptent pas nécessairement un nombre prédéfini d'entrées. Par exemple, vous pouvez écrire des fonctions comme ceci:

1
2
3
4
5
6
7
8
9
10
11
12
/ / Cette fonction indique le nombre et la valeur des sujets
/ / Adopté par référence aux arguments internes et
/ / Ne nécessite pas de déclaration
parametri_variabili fonction () {
'Numero argomenti passati = ' + arguments. length ) ; alert ('Nombre d'arguments =' + arguments longueur.);
/ / Affiche tous les sujets
'' ; var o ='';
var i = 0 ; i < arguments. length ; i ++ ) { for (var i = 0; i <arguments longueur;. i + +) {
i ] + ' \n ' ; ou + = arguments [i] + '\ n';
}
o ) ; alerte (o);
}

Nous avons donc:

1
2
3
// nessuno parametri_variabili () / / aucun

, 32 ) ; // due argomenti: stringa e numero parametri_variabili ("bonjour", 32) / / deux arguments: une chaîne et le numéro

Cette technique est très utile dans de nombreux cas, cependant - à mon avis - il peut être amélioré parce que cette approche implique:

  • Les arguments doivent toujours suivre le même ordre: arguments [0] est le premier arguments [1] est le deuxième, et ainsi de suite ...
  • Le sujet est l'indice d'accès (arguments [0] ou arguments [4] par exemple), puis juste "lisible" dans la mise en œuvre de l'intégralité du code

Une alternative serait d'utiliser des objets quela-inline (Object littérale). Par exemple, nous pourrions écrire:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
args ) { fonction parametri_variabili (args) {
args. miaStringa ) ; alerte (args. myString);
args. mioNumero ) ; alerte (args. mioNumero);
}

/ / Utilisation
parametri_variabili ({
, miaString: «bonjour»,
mioNumero: 32
});

/ / Ou
parametri_variabili ({
, mioNumero: 32,
miaString: 'bonjour'
});

Comme vous pouvez le voir dans le code, l'ordre des sujets, étant la propriété d'un objet, n'est pas important. Toujours dans le code de la fonction est esssere plus clair, le traitement de «propriété» d'un objet au lieu d'indices de tableau.
Cette technique est excellent dans le cas de fonctions avec de nombreux arguments, évidemment.

Il n'y a aucun commentaire pour cet article

Laisser un commentaire

TAG XHTML PERMIS: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> entrée du code:
 <pre></pre> // blocco generico <code></code> // blocco generico [cc_actionscript][/cc_actionscript] // Actionscript [cc_actionscript3][/cc_actionscript3] // Actionscript 3 [cc_css][/cc_css] // CSS Style Sheet [cc_html][/cc_html] // HTML [cc_js][/cc_js] // Javascript [cc_objc][/cc_objc] // Objective-C [cc_php][/cc_objc] // PHP [cc_sql][/cc_sql] // SQL