在ECMAScript规范v5中缺少关于进入在全局作用域中声明的函数时会发生什么的详细信息
Details about what happens when entering a function declared in the global scope is missing from ECMAScript Specification v5?
ECMAScript规范详细说明了当控件进入函数中的函数的执行上下文时会发生什么。
function foo() {
function bar() {
}
bar(); // Control will be given to the bar function. Details specified by spec
}
对于控件进入全局代码时发生的情况也有解释。
<script>
// Entering global code! Details specified by spec
</script>
但是,没有指定进入全局代码中定义的函数的控制权时会发生什么。
<script>
function foo() {
}
foo(); // Calling a function defined in the global environment...not specified by spec
</script>
Edit:这对我来说很重要的原因是因为我很好奇全局代码调用的函数的内部[[Scope]]属性是什么。我假设它将是全局执行上下文的词法环境,但是在规范中没有对此进行任何指定。
我想你误解了这句话(来自§10.4.3,输入功能代码):
当控制进入函数对象
F
、提供thisArg
的调用者和提供argumentsList
的调用者所包含的函数代码的执行上下文时,执行以下步骤[…]
这并不意味着输入的函数必须包含在F
中,而是输入的代码包含在函数F
(您正在调用的)中。
调用函数时使用的[[Call]]
方法不区分全局/局部声明或调用的函数
全局代码中声明的函数在10.4.1步骤2的全局代码的声明绑定实例化期间实例化。
这是通过10.5的步骤5.c完成的,该步骤实际上通过第13节中的第一个算法创建每个这样的函数对象。注意,这会将函数的[[Scope]]设置为当前执行上下文的VariableEnvironment。当前执行上下文由10.4.1的第1步(通过10.4.1.1)设置到全局环境。
相关文章:
- 单击按钮即可在浏览器的新选项卡中打开 Sapui5 详细信息页面
- 如何在完整日历中的当天点击时显示活动详细信息
- Magento目录价格折扣规则不适用于产品详细信息页面
- 获取本地时间的JS日期,日期对象中没有时区详细信息
- Json阵列的详细信息显示在三页的angularjs中
- 如何获取数组详细信息另一页
- 如何用java脚本从领英获取详细信息
- Javascript函数详细信息
- 如何创建multiselect来显示Django中每个选定项的详细信息
- jQuery:获取图像加载错误的详细信息
- 如何从重定向的支付处理器网站提取交易详细信息并保存到我的rails 4数据库
- JQuery/Javascript来获取给定URL的Http Header详细信息
- Javascript对象,其属性是有关“this”的函数详细信息
- 请解释有关 JavaScript 中的原型属性和函数构造函数的详细信息
- 图像 onclick() 函数显示带有表单详细信息的 dailog 窗口
- 编写一个javascript函数,只需在单击按钮时将表单的详细信息打印到另一个html页面
- 如何检索用户的详细信息喜欢按钮回调函数在facebook
- 在ECMAScript规范v5中缺少关于进入在全局作用域中声明的函数时会发生什么的详细信息
- 如何执行在另一个函数中作为parm传递详细信息的函数
- JavaScript 函数重载操作详细信息