Maison > interface Web > js tutoriel > Combien d'arguments une fonction JavaScript peut-elle réellement gérer ?

Combien d'arguments une fonction JavaScript peut-elle réellement gérer ?

Linda Hamilton
Libérer: 2024-10-26 15:24:03
original
348 Les gens l'ont consulté

How Many Arguments Can a JavaScript Function Really Handle?

Y a-t-il une limite au nombre d'arguments que les fonctions JavaScript peuvent accepter ?

Alors que les fonctions JavaScript sont conçues pour accepter « n'importe quel » nombre de arguments, comme le démontre la fonction f( qui prend un nombre arbitraire d'entrées, il y a des considérations pratiques à garder à l'esprit.

Limites spécifiques à l'implémentation

Le maximum Le nombre d'arguments n'est pas explicitement défini dans la spécification ; il est donc spécifique à l'implémentation. Les navigateurs et les environnements JavaScript peuvent imposer leurs propres limites en fonction de facteurs tels que les contraintes de mémoire et les optimisations de performances.

Résultats de l'expérience.

Une expérience a été menée à l'aide de la fonction testArgs pour établir des limites approximatives dans divers navigateurs :

  • Chrome 33 : 65 535 arguments (échec en raison du dépassement de la taille maximale de la pile d'appels)
  • Firefox 27 : 262 143 arguments (échec en raison d'une taille trop grande du tableau d'arguments)
  • Internet Explorer 11 : 131 071 arguments (échec en raison d'une erreur d'espace de pile insuffisant)
  • Opera 12 : 1 048 576 arguments (échec en raison d'un argArray trop grand pour l'application)

Tests d'évaluation

Une autre expérience utilisant eval a révélé des résultats différents :

  • Chrome 33 : 32 767 arguments (échec en raison d'un trop grand nombre d'arguments dans l'appel de fonction)
  • Firefox 27 : 32 767 arguments (échec en raison d'une taille de script trop grande)
  • Internet Explorer 11 : 32 767 arguments (échec en raison d'une erreur de mémoire insuffisante)
  • Opera 12 : 4 194 303 arguments (échec en raison d'une interruption de script par manque de mémoire)

Ces expériences illustrent que la limite pratique pour arguments est nettement inférieur au maximum théorique de (2^32)-1 et varie selon les navigateurs et les environnements. Par conséquent, il est conseillé d'éviter de transmettre un nombre excessif d'arguments aux fonctions pour garantir une bonne exécution et éviter les erreurs.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal