Paramètres de la fonction JavaScript

La fonction JavaScript n'effectue aucune vérification sur la valeur du paramètre.


Paramètres explicites de fonction (Paramètres) et paramètres implicites (Arguments)

Dans le tutoriel précédent, nous avons appris sur les paramètres explicites des fonctions :

functionName(parameter1, paramètre2, paramètre3) {
// Code à exécuter...
}

Les paramètres explicites des fonctions 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 Fournissez des paramètres implicites, et les paramètres seront définis par défaut sur : undefined

Parfois, cela est acceptable, mais il est recommandé de définir une valeur par défaut pour le paramètre :

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>php中文网(php.cn)</title>
</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>

Exécutez le programme et essayez-le


Ou, d'une manière plus simple :

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php中文网(php.cn)</title>
</head>
<body>
<p>设置函数参数默认值。</p>
<p id="demo"></p>
<script>
function myFunction(x, y) {
    y = y || 0;
    return x * y;
}
document.getElementById("demo").innerHTML = myFunction(4);
</script>
</body>
</html>

Exécutez le programme et essayez-le

Astuce : 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 trouver la valeur du dernier paramètre :

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php中文网(php.cn)</title>
</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>

Exécutez le programme et essayez-le

Ou créez une fonction pour compter la somme de toutes les valeurs :

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php中文网(php.cn)</title>
</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>

Exécutez le programme et essayez-le


Passez les paramètres par valeur

Les paramètres appelés la fonction sont des paramètres implicites de fonctions.

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 des objets valeur.

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.



Formation continue
||
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </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>
soumettreRéinitialiser le code
  • Recommandations de cours
  • Téléchargement du didacticiel