Avantage des fonctions sans paramètre en JavaScript

Utilisation sans paramètre Fonctions

  

Problème Vous voulez profiter des fonctions sans paramètre en JavaScript. Théorie des fonctions JavaScript pour la plupart possèdent des paramètres. Vous mai pense que la phrase précédente énonce une évidence, après tout, sans paramètres, les données pourraient être confiés à une fonction? JavaScript a la possibilité de déclarer des fonctions qui n'ont pas de paramètres, même si l'appelant de la fonction a des paramètres passés à la fonction. Par exemple, examinons à une fonction d'addition qui utilise le num1 et num2 paramètres.

 Source: / website / ROOT / ajaxrecipes / javascript / AddTwoNumbers fonction parameterlessfunctions.html (num1, num2) (return num1 + num2;)

Les paramètres de la num1 et num2 sont ajoutés et le résultat est retourné. Solution Une autre façon d'écrire la même fonction est de supprimer les paramètres et utiliser l'objet arguments, comme suit:

AddTwoNumbers function () (return arguments [0] + arguments [1];)

Dans cette version modifiée de la fonction, il n'ya pas de paramètres, mais l'addition est encore possible. Et si la méthode est appelée comme ça, une addition se produit: AddTwoNumbers (2, 2); Ici, la fonction reçoit deux paramètres, mais la déclaration de la fonction n'en a pas. Il peut y avoir un, deux ou dix paramètres qu'il ne fait rien. Peut-être qu'un ou deux, ou dix de tous les paramètres seront affectés, ou peut-être aucun d'entre eux seront affectés. Cette incertitude pose un défi supplémentaire parce que vous êtes à se demander si le paramètre est attribué ou non. Par exemple, considérons la déclaration de fonction suivante.

 Source: / website / ROOT / ajaxrecipes / javascript / TooManyParametersNotEnoughArguments fonction parameterlessfunctions.html (param1, param2, param3) (info ( "TooManyParametersNotEnoughArguments", typeof (param3)); assertEquals ( "undefined", typeof (param3));)

La fonction TooManyParametersNotEnoughArguments attend trois paramètres, mais elle va être appelée avec uniquement deux paramètres, comme illustré par le texte suivant l'appel de code: TooManyParametersNotEnoughArguments (1, 2); qu'il ya un disjoints entre l'appelant et la fonction, et le troisième paramètre est laisser pendre. Pour voir si un paramètre est laissée en suspens, vous utilisez l'opérateur typeof et de tester si le résultat est indéfini.

Ne pas tester pour une valeur nulle parce que le troisième paramètre n'est pas nul, il est indéfini. En règle générale, ne l'utilisez pas nulle comme un moyen d'état de test. null est ambiguë et peut signifier différentes choses dans différents contextes. La valeur de l'indéfini n'est pas ambiguë, elle indique clairement que la variable n'a pas été attribué. Un autre moyen de tester si oui ou non le troisième paramètre a été assigné est de voir comment de nombreux arguments ont été passés à la fonction, comme illustré par le texte suivant modification TooManyParametersNotEnoughArguments fonction:

TooManyParametersNotEnoughArguments fonction (param1, param2, param3) (info ( "TooManyParametersNotEnoughArguments", typeof (param3)); assertEquals ( "undefined", typeof (param3)); assertEquals (2, arguments.length);)

Le code en gras est une épreuve supplémentaire de la propriété argument.length qui vérifie l'appelant de TooManyParametersNotEnoughArguments se passe dans seulement deux arguments. L'objet arguments est définie localement dans le cadre de la fonction, donc l'instance arguments d'un appel de fonction ne correspondra pas les arguments d'appel d'une autre fonction. Il est important de réaliser que les arguments sont des tableaux que vous pouvez manipuler. Lorsque vous implémenter les fonctions qui n'ont pas de paramètres, vous devriez considérer les éléments suivants:

• Si vous mettez en place une fonction et elle est déclarée avec trois paramètres, ne vous attendez pas la fonction qui doit être appelé avec des paramètres plus ou moins. Codage avec JavaScript est sur le point de convention et d'attentes. Code avec des paramètres plus ou moins quand un certain nombre devrait confond le développeur.

• Si vous allez à accepter un nombre variable d'arguments, puis déclarer la fonction sans arguments, ce qui signifie que vous pourrez utiliser les objets arguments. Quelqu'un qui lit ensuite la fonction comprend que la fonction accepte un nombre variable de paramètres, répondant à l'exigence de nouveau les attentes lors de l'écriture du code JavaScript.

• Si vous déclarez une fonction sans paramètres, et vous serez en utilisant un indice de l'objet arguments tout au long de la fonction, envisager d'affecter l'indice à un identifiant variable de sorte que le paramètre objectif est manifeste.

• Si vous allez à accepter un certain nombre d'arguments variable, n'oubliez pas de générer des erreurs explicites et verbeux quand vous attendez des arguments plus ou moins.

un article présenté par Sonja Lande


Disclaimer:Notre site n'est pas responsable du contenu de cet article. Webarticles est une ressource d'information gratuite.
Important: Cet article «avantage des fonctions sans paramètre en JavaScript" a été traduit par un logiciel automatique. Nous nous sentons désolés pour les fautes d'orthographe que mai ont eu lieu. Nous vous remercions de votre compréhension.


Online: 387 users browsing the articles directory