问题描述
ECMAScript defines realm
对象作为一个必须在评估前与 JS 代码关联的对象。它保存对全局对象和全局环境的引用。 Module Record
和 Script Record
等规范实体引用其 realm
,因此它们的代码将使用此 realm
运行。
如果我们有多个模块(Module Record
)的依赖关系图,它们是否都必须存储相同的 realm
对象?应该是这样,因为这些模块必须共享一个全局环境,但我无法从规范中得出具体规则。
有以下instruction:
一个全局的Environment Record用来表示最外层的作用域 由所有 ECMAScript 脚本元素共享 处理在一个共同的领域。
尽管它将“共同领域”限制为 Script
元素(出于对我而言神秘的原因)。
所以我的最后一个问题是,来自不同来源的 JS 代码必须使用相同的 realm
对象执行(然后所有这些代码共享相同的全局环境)的条件是什么,相反,当 JS 代码是有资格创建自己的 realm
? (这个 answer 告诉其中一种情况是 <iframe>
)。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)