为什么Mozilla使用IDL编写JavaScript文档

时间:2012-12-08 00:22:35

标签: javascript api idl webidl

阅读有关fileReader的文档,并发现他们使用void运算符编写方法,如下所示:

void readAsArrayBuffer (
        in Blob blob
);

试着理解为什么他们这样写呢?如果有这种语法的实际用途吗?

后来事实证明它根本不是js,而是IDL,它是接口描述语言。

仅供参考:在提出这个问题之前,我会谷歌并阅读JS中的实际void运算符。所以请没有需要让我回来。问题有点模糊,但它必须处理,为什么Mozilla有关于这样编写的JavaScript的文档?在IDL中与实际JavaScript有什么关系?

1 个答案:

答案 0 :(得分:3)

Mozilla以两种方式使用IDL

  • Web IDL:用于W3C规范等,用于描述Javascript API。这些是规范性规范。

  • XPCOM内部IDL方言:本机Javascript API是用C ++实现的。在Gecko(Firefox的引擎)案例中,特别是在域名特定的框架中称为XPCOM

正如链接页面所述,Gecko在内部描述了语言中性IDL方言中的接口,因为这些接口必须在本机运行时(C ++)和Javascript引擎(Javascript)中实现。

在这种情况下,IDL描述可以是来自orignal Web IDL规范的复制粘贴,也可以是Gecko的内部实现。