如何在javascript中通过引用传递变量?从ActiveX函数读取数据,该函数返回多个值

Sta*_*nov 5 javascript activex

我有一个要在浏览器(javascript)中使用的ActiveX对象。
我要调用一个函数。其原型是:

function TOPOSFiscalPrinter.DirectIO(Command: Integer; var pData: Integer;
  var pString: WideString): Integer;
Run Code Online (Sandbox Code Playgroud)

因此,该函数返回三个值:结果代码,pData和pString;
在javascript中,该函数不会更新变量pData和pString;

function test()
{
  var d=1, s="DIRECIO:";
  var code = opos.DirectIO(1024, d, s);

  alert(d); alert(s);
}
Run Code Online (Sandbox Code Playgroud)

变量ds不更新。它们必须是d = 0和s =“ ED123456”;
如何从在JavaScript中返回多个值的函数中读取数据?

编辑
显然,Javascript总是按值传递参数,而不是按引用传递参数。
我可以做些什么来通过Java引用引用传递值,或者我将不得不更改设计以仅依赖于按值传递的参数和返回值。

med*_*iev 7

原始类型,主要是字符串/数字/布尔值,出于效率目的按值传递。函数、对象、数组等对象是通过引用传递的。您可以创建一个对象并传递它,例如 { d:1, s:'directo' } 然后更改值,因为您正在传递一个引用。