Paramètres de la fonction JavaScript
Paramètres de la fonction JavaScript
La fonction JavaScript n'effectue aucune vérification sur la valeur du paramètre.
Paramètres explicites de la fonction (Paramètres) et paramètres implicites (Arguments)
Dans le tutoriel précédent, nous avons découvert les paramètres explicites de la fonction :
functionName( paramètre1, paramètre2, paramètre3) {
// Code à exécuter...
}
Les paramètres explicites de la fonction sont répertoriés lorsque la fonction est définie.
Les paramètres de fonction implicites sont les valeurs réelles transmises à la fonction lorsque la fonction est appelée.
Règles de paramètres
Lorsqu'une fonction JavaScript est définie, le paramètre affiché ne spécifie pas de type de données.
Les fonctions JavaScript n'effectuent pas de vérification de type sur les paramètres implicites.
La fonction JavaScript ne détecte pas le nombre de paramètres implicites.
Paramètres par défaut
Si la fonction est appelée sans fournir de paramètres implicites, les paramètres seront définis par défaut sur non définis
Parfois, cela est acceptable, mais il est recommandé de l'être Le paramètre définit une valeur par défaut :
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> </head> <body> <p>设置参数的默认值。</p> <p id="demo"></p> <script> function myFunction(x, y) { if (y === undefined) { y = 0; } return x * y; } document.getElementById("demo").innerHTML = myFunction(4); </script> </body> </html>
Si y a été défini, y || renvoie y, car y est vrai, sinon il renvoie 0, car non défini est faux.
Si trop de paramètres sont définis lors de l'appel de la fonction, les paramètres ne seront pas référencés car les noms de paramètres correspondants sont introuvables. Ne peut être appelé qu’à l’aide de l’objet arguments.
Objet Arguments
La fonction JavaScript a un objet arguments intégré. L'objet
argument contient le tableau de paramètres de l'appel de fonction.
De cette façon, vous pouvez facilement retrouver la valeur du dernier paramètre :
Code source :
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> </head> <body> <p>查找最大的数。</p> <p id="demo"></p> <script> function findMax() { var i, max = 0; for(i = 0; i < arguments.length; i++) { if (arguments[i] > max) { max = arguments[i]; } } return max; } document.getElementById("demo").innerHTML = findMax(4, 5, 6); </script> </body> </html>
Ou créer une fonction pour compter la somme de toutes les valeurs :
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> </head> <body> <p>计算所有参数之和:</p> <p id="demo"></p> <script> function sumAll() { var i, sum = 0; for(i = 0; i < arguments.length; i++) { sum += arguments[i]; } return sum; } document.getElementById("demo").innerHTML = sumAll(1, 123, 500, 115, 44, 88); </script> </body> </html>
Passer des paramètres par valeur
Les paramètres appelés dans une fonction sont des paramètres implicites de la fonction.
Les paramètres implicites JavaScript sont passés par valeur : la fonction récupère simplement la valeur.
Si une fonction modifie la valeur d'un paramètre, elle ne modifie pas la valeur initiale du paramètre explicite (défini en dehors de la fonction).
Les modifications apportées aux paramètres implicites ne sont pas visibles en dehors de la fonction.
Passer des paramètres à travers des objets
En JavaScript, vous pouvez référencer la valeur d'un objet.
Ainsi, lorsque nous modifions les propriétés de l'objet à l'intérieur de la fonction, sa valeur initiale sera modifiée.
La modification des propriétés d'un objet peut agir en dehors de la fonction (variables globales).
La modification des propriétés de l'objet est visible en dehors de la fonction.