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