Maison  >  Article  >  interface Web  >  Combien d’arguments les fonctions JavaScript peuvent-elles réellement prendre ?

Combien d’arguments les fonctions JavaScript peuvent-elles réellement prendre ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-01 16:31:02779parcourir

How Many Arguments Can JavaScript Functions Really Take?

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

Bien qu'il soit généralement admis que les fonctions JavaScript peuvent accepter un nombre "illimité" nombre d'arguments, la réalité pratique est plus nuancée.

La spécification ECMAScript n'impose pas explicitement de limite maximale d'arguments. Cependant, la limite réelle dépend de facteurs spécifiques à l'implémentation.

Une expérience utilisant la méthode arguments.length a révélé des limites pratiques pour différents navigateurs :

  • Chrome : 65 535 arguments (taille maximale de la pile dépassé)
  • Firefox : 262 143 arguments (arguments trop volumineux)
  • Internet Explorer : 131 071 arguments (espace de pile insuffisant)
  • Opera : 1 048 576 arguments (tableau d'arguments trop grand)

L'utilisation de eval pour appeler la fonction a donné des résultats légèrement différents :

  • Chrome : 32 767 arguments (trop d'arguments)
  • Firefox : 32 767 arguments (script trop grand)
  • Internet Explorer : 32 767 arguments (mémoire insuffisante)
  • Opera : 4 194 303 arguments (mémoire insuffisante)

Ces résultats indiquent que le nombre maximum Les arguments varient en fonction du navigateur et de la stratégie d'appel. Dans des scénarios pratiques, il est peu probable de rencontrer des appels de fonction avec des millions d'arguments.

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!

Déclaration:
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