ES6 中引入了块级函数声明,引发了有关其语义的问题。
Non-strict mode | Strict mode |
---|---|
Hoisted and visible outside of the block | Not visible outside of the block |
中浏览器中,Web 扩展语义适用于非严格模式下的块级函数:
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 |
块级函数上下文中的“严格模式”是指包含函数声明的块所在的函数的严格性。以下示例演示了这一点:
// Non-strict surrounding code { function foo() { "use strict"; } }
此代码被视为函数 foo 的“严格模式”。
以上是块级函数声明在 ES6 严格和非严格模式下的行为如何?的详细内容。更多信息请关注PHP中文网其他相关文章!