这意味着参数是“in-parameter ”,即值进入函数,与“out-parameters”相反,函数将数据添加到该参数或内存中的该位置,然后可以进一步使用调用代码。
这是MDN 文档中包含“输出参数”的示例:
void get(
in string prop,
in nsIIDRef iid,
[iid_is(iid),retval] out nsQIResult result
);
还有一个 JavaScript 示例:
function range(n, result) {
for (var i = 0; i < n; i++) {
result.push(i);
}
}
// to be called as
var foo = [];
range(10, foo);
console.log(foo); // shows [0,1,2,3,4,5,6,7,8,9]
“out-parameters”在 JavaScript 中并不流行,但在开发 Firefox 的语言 C 或 C++ 中似乎更常见。
正如cPu1所暗示的,这不是 JavaScript 语法,这只是对接口的描述。Mozilla 开发并使用了XPIDL。从他们的文档中:
每个方法参数都可以指定为以下三种模式之一:in
、out
或inout
。参数本质上是一个out
辅助返回值,尽管从脚本上下文中使用这些参数比较麻烦,因此如果合理的话应该避免使用。参数是一个inout
in 参数,其值可能会因方法而改变;这些参数使用起来相当烦人,通常应尽可能避免使用。
你是对的,void
意思是函数不返回任何东西,但是void
操作符确实存在(虽然它与接口描述无关)。