Les déclarations de fonctions au niveau des blocs ont été introduites dans ES6, suscitant des questions sur leur sémantique.
Non-strict mode | Strict mode |
---|---|
Hoisted and visible outside of the block | Not visible outside of the block |
Dans navigateurs, la sémantique des extensions Web s'applique aux fonctions de niveau bloc en mode non strict :
Web Extensions | Hoisted? | Visible Outside of Block? | TDZ? |
---|---|---|---|
Yes | To both the block and function | Yes, as a var declaration | Undefined prior to block execution |
Le « mode strict » dans le contexte des fonctions de niveau bloc fait référence au rigueur de la fonction dans laquelle apparaît le bloc contenant la déclaration de fonction. L'exemple suivant le démontre :
// Non-strict surrounding code { function foo() { "use strict"; } }
Ce code est considéré comme "mode strict" pour la fonction foo.
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!