Utilisation de try-catch en JavaScript

Quelle est la durée de L'utilisation de try / catch en JavaScript? J'ai une application et je l'utilise dans une fonction qui est appelée une centaine de fois. Maintenant, je crains que la déclaration try / catch prenne trop de temps et que l'application prenne beaucoup plus de temps que sans elle.

14
demandé sur josh3736 2011-03-10 16:52:57

4 réponses

il y a de beaux tests sur jsPref:

Conclusion: sur le navigateur principal, différences nulles à minimes.

10
répondu jerone 2011-03-10 13:59:49

vous devez prendre note de ce qui suit:

"La Première Règle de l'Optimisation du Programme: ne pas le faire. La deuxième règle de L'optimisation de programme (pour les experts seulement!): Ne le faites pas encore."- Michael A. Jackson

j'ai perdu du temps à optimiser des sections de code qui avaient peu d'impact sur la performance. Assurez-vous de savoir ce qui est lent en lançant des expériences de timing.

7
répondu David 2011-03-10 14:31:08

la clause try / catch crée une nouvelle portée en javascript, de sorte que chaque variable qui doit provenir de la portée mère sera légèrement plus lente.

La surcharge n'est pas que grand mais trop grand pour ignorer complètement à votre intérieur des boucles.

regardez cette vidéo pour une explication plus détaillée: http://www.youtube.com/watch?v=mHtdZgou0qU

2
répondu Wolph 2011-03-10 13:58:49

en général, le code exécuté à l'intérieur d'un bloc try est coûteux. Mais si vous invoquez un bloc try sur l'ordre de quelques centaines de fois, ce n'est probablement pas un problème. Si c'était quelques centaines de milliers, vous pourriez vouloir repenser votre conception.

1
répondu Travis Webb 2011-03-10 13:58:59