0

En JavaScript Comprendre les pièces étranges, la genèse d'un contexte d'exécution particulière a été expliqué en référence à deux phases:Le contexte d'exécution Javascript avait-il toujours deux phases (création et exécution)?

  1. phase de création - déclarations sont hiérarchisées et initialisés avec des valeurs non définies
  2. phase d'exécution - où les affectations sont résolu

en this answer à une question connexe, l'auteur fait référence à l'interprète faisant deux passes sur le code source.

Est-ce que cela a toujours été une caractéristique de JS ou est-ce un phénomène plus récent lié à des moteurs JS plus modernes qui agissent comme des compilateurs JIT?

Répondre

0

En général, tout doit être créé avant de pouvoir être utilisé.

Et oui, cela a été le comportement de JavaScript depuis le first standard edition.

Mais non, les moteurs modernes ne sont pas des interprètes que « faire deux passes sur le code source » plus, ils utilisent un analyseur qui extrait les déclarations et les commandes exécutables en un seul passage.