dmi*_*i3y 6 javascript api idl webidl
阅读有关fileReader的文档,并发现他们使用void运算符编写方法,如下所示:
void readAsArrayBuffer (
in Blob blob
);
Run Code Online (Sandbox Code Playgroud)
只是试着明白为什么他们这样写呢?如果有这种语法的实际用途?
事后证明它根本不是js,而是IDL,它是接口描述语言.
仅供参考:在提出这个问题之前,我会谷歌并阅读JS中的实际void运算符.所以请没有需要让我回来.问题有点模糊,但它必须处理,为什么Mozilla有关于这样编写的JavaScript的文档?在IDL中,实际的JavaScript几乎没有?
Mozilla 以两种方式使用 IDL
Web IDL:在 W3C 规范等中用于描述 Javascript API。这些是规范规格。
XPCOM内部 IDL 方言:本机 Javascript API 用 C++ 实现。在 Gecko(Firefox 引擎)的情况下,特别是在名为 XPCOM 的特定领域框架中
正如链接页面所述,Gecko 在内部以语言中立的 IDL 方言描述接口,因为这些接口必须在本机运行时 (C++) 和 Javascript 引擎 (Javascript) 中实现。
在这种情况下,IDL 描述要么是从原始 Web IDL 规范复制粘贴的,要么是从 Gecko 内部实现复制粘贴的。