WebAssembly.Instance - JavaScript 编辑

这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。

  WebAssembly.Instance 对象本身是有状态的,是 WebAssembly.Module 的一个可执行实例。  实例包含所有的 WebAssembly 导出函数 ,允许从JavaScript 调用 WebAssembly 代码。

WebAssembly.Instance() 构造函数以同步方式实例化一个WebAssembly.Module 对象。 然而, 通常获取实例的方法是通过异步函数WebAssembly.instantiate() .

构造函数

重要: 由于大型模块的实例化代价极高, 开发人员应只在必须同步实例化的时候,才使用Instance();绝大多数情况应该使用异步方法WebAssembly.instantiate() .

var myInstance = new WebAssembly.Instance(module, importObject);

参数

module
要被实例化的 WebAssembly.Module 对象.
importObject 可选
一个包含值的对象,导入到新创建的 实例, 比如函数或 WebAssembly.Memory 对象. There must be one matching property for each declared import of module 否则抛出 WebAssembly.LinkError 异常.

实例化

所有的 Instance 实例继承自Instance() 属性对象— 修改它会影响所有的Instance 实例.

实例属性

Instance.prototype.exports
返回一个包含此 WebAssembly 模块实例所导出的全部成员的 JS 对象,以便 JavaScript 访问和使用这些成员,这个对象是只读的。

译者注:英文版的变动有点大,用例模块暂时不翻译,后来者有心的话可以翻译一下。

规格

规格状态描述
WebAssembly JavaScript Interface
Instance
Working DraftInitial draft definition.

浏览器兼容性

BCD tables only load in the browser

为了便于维护,此兼容性表格由结构化数据生成。如果您有意向此表格贡献内容,请向 这个仓库 提交代码并发送对应的 pull request 给我们。

参考

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

词条统计

浏览:96 次

字数:5138

最后编辑:6 年前

编辑次数:0 次

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文